欢迎访问宙启技术站
智能推送

PHP日期时间函数:strtotime用法详解

发布时间:2023-06-10 20:42:44

在PHP中,strtotime()函数是用于将人类可读的日期时间字符串转换为Unix时间戳的功能强大的函数。正如我们所知道的,Unix时间戳是自1970年1月1日00:00:00以来的秒数。而strtotime()函数将日期时间字符串转换成的时间戳也是Unix时间戳,用于计算和比较日期时间等操作。

strtotime()函数的语法格式:

strtotime(time_string, [now])

时间字符串参数通常包括一个时间和一个日期,以及其他可选的文本信息,如下所示:

? 时间:小时,分钟,秒

? 日期:年,月,日

? 其他:可以是月份名称、星期几、AM或PM等等。

该函数的第二个可选参数是now,是用来指定时间相关操作中的相对时间。如果不指定,则默认为当前时间。

以下是strtotime()函数的几个例子:

1. 将日期字符串转换为Unix时间戳:

$date_string = "2019-02-23 14:00:00";

$time_stamp = strtotime($date_string);

echo $time_stamp;

输出:

1550920800

2. 使用时间串与now参数,返回未来某一日期的时间戳:

$time = strtotime("+1 week 2 days 4 hours 2 seconds", time());

echo $time;

输出:

1551849814

在这个例子中,strtotime()函数接收了两个参数:一个是时间间隔“+1 week 2 days 4 hours 2 seconds”,另一个是“time()”函数,表示从现在开始计算时间间隔。

3. 将时间字符串转换为Unix时间戳:

$time_string = "16:30:30";

$now = strtotime("now");

$time_stamp = strtotime($time_string, $now);

echo $time_stamp;

输出:

1550884230

在这个例子中,strtotime()函数接收了两个参数:一个是时间字符串“16:30:30”,另一个是“now”参数,表示从当前时间开始计算时间字符串。

strtotime()函数也支持更多的时间格式,如使用中文时间字符串:

$date_string = "2019年2月23日 下午 2:00:00";

$time_stamp = strtotime($date_string);

echo $time_stamp;

输出:

1550920800

总结起来,strtotime()函数是PHP中非常有用的日期时间函数,可以将日期字符串转换为Unix时间戳,也可以计算出未来某一日期的时间戳,具有很高的灵活性,使用起来非常方便。