PHP日期时间函数:strtotime用法详解
在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时间戳,也可以计算出未来某一日期的时间戳,具有很高的灵活性,使用起来非常方便。
