加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

PHP函数strtotime()理解笔记

发布时间:2020-05-25 03:20:14 所属栏目:PHP 来源:互联网
导读:官方手册里面对strtotime的描述:strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。那么意味着这个函数可以把2010-02-28 18:31:33转换为1267353093这种格式但是使用它转换时间戳的时候要注意的是服务器的date.timezone的配置,在函数说明中有

官方手册里面对strtotime的描述:

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

那么意味着这个函数可以把2010-02-28 18:31:33转换为1267353093这种格式

但是使用它转换时间戳的时候要注意的是服务器的date.timezone的配置,在函数说明中有这么一段话

该函数将使用 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个钟头的时间来得到格林威治时间

参考程序测试代码:

输出:

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读