我只想检查是否time()返回UTC / GMT时间戳,还是需要使用date_default_timezone_set()?
3 回答
收到一只叮咚
TA贡献1821条经验 获得超4个赞
从PHP 5.1.0(重写日期/时间函数时)开始,如果时区无效,则每次对日期/时间函数的调用都会生成E_NOTICE,如果使用系统设置或TZ,则每次生成E_WARNING消息环境变量。
因此,为了获得UTC时间戳,您应该检查当前时区是什么,并解决该时区或仅使用:
$utc_str = gmdate("M d Y H:i:s", time());
$utc = strtotime($utc_str);
侃侃无极
TA贡献2051条经验 获得超10个赞
声明之一:“ time()和strtotime(gmdate(“ M d YH:i:s”,time()))均返回相同结果”
由于我不确定,因此进行了测试:
$now = strtotime(gmdate("Y-m-d H:i:s", time()));
$now2 = time();
echo ' now='.$now.' now2='.$now2.' diff='.($now - $now2);
输出为:
now=1536824036 now2=1536806036 diff=18000
差异为18000秒= 5小时=运行测试的服务器的时区偏移量。
- 3 回答
- 0 关注
- 645 浏览
添加回答
举报
0/150
提交
取消