繁体   English   中英

PHP的strtotime和日期功能使用不同的时区

[英]php strtotime and date functions are using different timezones

strtotime是从1970-01-01(UTC)计算的,日期是使用我的时区,即America / New_York一个简单的例子:

时间戳为0的位置:

var_dump(date('Y-m-d h:i:s', 0)); 

打印: 1969-12-31 07:00:00

它应该返回0的地方,它返回

var_dump(strtotime('1969-12-31 07:00:00'));
-43200

现在,很明显,我可以将时区添加到日期,即

strtotime($date . ' -5') 

它会起作用。

但是,我到处都在使用strtotime函数。

我尝试使用_$ENV['TZ']date_timestamp_get() ; 但是我无法同步它们。

我还将php.ini中的date.timezone修改为America / New_York,但仍然没有。

最后,使用date_timestamp_set('UTC')强制时区,工作正常,两个日期同步。 但是,我需要服务器的时区。

请指教,我没有想法

var_dump(date('Y-m-d H:i:s', 0)); 

h != H日期。 现在是晚上7点,您想让时间从1969-12-31 07:00:00 am开始。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM