插件窝 干货文章 ThinkPHP5.1中如何使用时间处理函数

ThinkPHP5.1中如何使用时间处理函数

时间 日期 字符串 可以 476    来源:    2024-10-24

一、时间戳转换为日期时间

在 PHP 中,UNIX 时间戳可以被转化为日期时间字符串,这是通过调用 date() 函数实现的。在 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() 方法。