在开发 web 应用程序时,时间的处理经常是一个非常重要的需求。thinkphp5.1 提供了一些内置的时间处理函数,包括时间戳转换为日期时间、日期时间转换为时间戳等等。本文将介绍一些在 thinkphp5.1 中使用时间处理函数的方法。
一、时间戳转换为日期时间
在 PHP 中,我们可以使用 date() 函数将 UNIX 时间戳转换为日期时间字符串。在 ThinkPHP5.1 中,我们可以使用 \think\helper\Str 类的 toDateTimeString() 方法来将时间戳转换为日期时间字符串。
例如:
use think\helper\Str; $time = 1573679399; echo Str::toDateTimeString($time); // 输出: 2019-11-14 14:03:19
二、日期时间转换为时间戳
立即学习“PHP免费学习笔记(深入)”;
在 PHP 中,我们可以使用 strtotime() 函数将日期时间字符串转换为 UNIX 时间戳。在 ThinkPHP5.1 中,我们可以使用 \think\helper\Str 类的 unixTime() 方法来将日期时间字符串转换为时间戳。
例如:
use think\helper\Str; $datetime = '2019-11-14 14:03:19'; echo Str::unixTime($datetime); // 输出: 1573679399
三、时间格式化
在 PHP 中,我们可以使用 date() 函数对日期时间字符串进行格式化。在 ThinkPHP5.1 中,我们可以使用 \think\helper\Str 类的 dateFormat() 方法对日期时间字符串进行格式化。
例如:
use think\helper\Str; $datetime = '2019-11-14 14:03:19'; echo Str::dateFormat($datetime, 'Y年m月d日 H:i:s'); // 输出: 2019年11月14日 14:03:19
在 dateFormat() 方法中,第一个参数是需要格式化的日期时间字符串,第二个参数是格式化字符串。常用的格式化字符串如下:
日期格式字符 | 说明 |
---|---|
Y | 年份(4 位数) |
m | 月份(01-12) |
d | 日期(01-31) |
H | 小时(00-23) |
i | 分钟(00-59) |
s | 秒钟(00-59) |
四、时间差计算
在 PHP 中,我们可以使用 strtotime() 函数计算两个日期时间之间的时间差。在 ThinkPHP5.1 中,我们可以使用 \think\helper\Str 类的 time() 方法计算两个日期时间之间的时间差。
例如:
use think\helper\Str; $start = '2019-11-14 14:03:19'; $end = '2019-11-15 16:05:12'; $diff = Str::time($start, $end); echo $diff->format('%a 天 %h 小时 %i 分钟 %s 秒'); // 输出: 1 天 2 小时 1 分钟 53 秒
在 time() 方法中,第一个参数是开始时间,第二个参数是结束时间。如果要计算两个时间之间的天数、小时数、分钟数、秒数等等,可以使用 DateTime 对象的 format() 方法。
结论
ThinkPHP5.1 提供了一些内置的时间处理函数,方便开发人员在 Web 应用程序中进行时间处理。本文介绍了一些常见的时间处理函数,包括时间戳转换为日期时间、日期时间转换为时间戳、时间格式化以及时间差计算等等。开发人员可以根据实际需求选择其中的一些函数进行使用。