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