本节内容:
php时间函数strtotime
先来看下php官方手册中对strtotime的描述:
strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。
也就是说,此函数可以把2010-02-28 18:31:33转换为1267353093这种格式。
在做时间戳转换时,请注意服务器的date.timezone的配置。
在strtotime函数说明中有这么一段话:
该函数将使用 TZ 环境变量(如果有的话)来计算时间戳。自 PHP 5.1.0 起有更容易的方法来定义时区用于所有的日期/时间函数。
此过程在 date_default_timezone_get() 函数页面中有说明。
可以这么理解:
如果date.timezone配置为空或者为UTC(格林威治时间),那么它就会直接把传入的时间直接转换为该时间的UNIX时间戳(相当于该时间识别为格林威治时间)
如果date.timezone配置了时区,例如Asia/Shanghai,那么这个函数就会将传入的时间认为是配置的时区的当地时间,然后根据该时区与UTC(格林威治时间)的时差来算格林威治时间的时间戳。
例如:
php.ini配置date.timezone为Asia/Shanghai;
传入:2010-02-28 18:31:33
函数转出的时间戳的实际时间为:
2010-02-28 10:31:33
因为Asia/Shanghai位于 +8区,那么函数会自动减去了8个钟头的时间来得到格林威治时间。
分享一段测试代码,供大家参考。
例子:
输出结果:
您可能感兴趣的文章:
php取得某段时间区间的时间戳的代码
php中的UNIX时间戳函数strtotime
php 时间戳函数总结与示例
php 当前时间、时间戳的获取方法汇总
php时间戳函数 strtotime 应用实例
php时间戳应用举例
php时间转换Unix时间戳的代码
php应用mktime获取时间戳的例子分析
学习php中时间戳和日期格式的转换