使用strtotime
获得1 January 1970
之后的秒数,但是如果时钟设置为-3600
而我得到{{1},我不明白为什么会得到12.00AM
当时钟设置为0
时,那1 AM
是什么?这是时区的问题吗?
1 HOUR
P.S我没有在我的PHP文件中设置任何时区,或者我甚至没有 修改了我的.ini文件(Fresh Installed XAMPP)
更新:时区:欧洲/柏林
答案 0 :(得分:8)
这很可能是由于您当地的time zone 什么是
的输出var_dump(date_default_timezone_get());
在那台机器上?
您还可以检查mktime和gmmktime之间的区别
echo " mktime: ", mktime(), "\n";
echo " gmmktime: ", gmmktime(), "\n";
答案 1 :(得分:6)
您的时区必须设置为UTC + 1。您的时区午夜发生在UTC午夜前一小时,这解释了-3600秒的偏移量。
您可以将时区设置为UTC以获得预期结果:
date_default_timezone_set('UTC');
答案 2 :(得分:4)
您需要检查您的时区设置。或者如果将default_time_zone设置为UTC,您将获得所需的结果。
date_default_timezone_set('UTC');
答案 3 :(得分:1)
添加此项以设置时区'Europe / Berlin'
date_default_timezone_set('Europe/Berlin');