由于网站的一些原因,特地去查了下这个问题。
date -- 格式化一个本地时间/日期
gmdate -- 格式化一个 GMT/UTC 日期/时间,返回的是格林威治标准时(GMT)
现在所在的时区是+8,那么服务器运行以下脚本返回的时间应该为:
当前时间假定是2020-02-28 14:18:25
echo date('Y-m-d H:i:s', time()); 输出为:2020-02-28 14:18:25
echo gmdate('Y-m-d H:i:s', time()); 输出为:2020-02-28 06:18:25
//服务器需要设定时区为PRC
可以访问 https://smallxu.com/time.php 第一行为date 第二行为gmdate 服务器时区为PRC
值得注意的是,在windows环境下,php输出的时间均为2020-02-28 06:18:25
即在windows环境下,date与gmdate输出结果一样(由于访问时间不同,图片和文章中提到的时间不同)
date()会受到php.ini中的时区(间)相关配置的影响,而gmdate()不会受到影响。
在php.ini中会有一个date.timezone=PRC,这个配置项可以更改date的时区
关于date与gmdate的选用
由于在Linux和Windows环境下,date输出的时间不同。为了网站的兼容性考虑,我们应当统一使用gmdate(即使有少部分人使用Linux)并且规定时区
例如:
echo gmdate('Y-m-d H:i:s', time() + 3600 * 8);
这里规定的时区是+8,即PRC(北京时间),我们也可以通过变量来更换为用户所在的时区
转载请保留原文链接
xzx18691048554
我的微信
微信扫一扫
评论