php日期偏移

lan*_*ng2 2 php time timezone datetime date

我正在使用php的date()函数打印出一个从mysql中检索的时间.打印出来的实际时间总是一小时.

我在打电话

date('H:i, d M Y', 100000)
Run Code Online (Sandbox Code Playgroud)

我期待"03:46, 02 Jan 1970"但是"04:46, 02 Jan 1970"相反.

为什么?

Wh1*_*Ck5 6

之前设置时区,使用date_default_timezone_set()因为date()函数取决于时区设置(来自php.ini代码或由代码设置)

根据您当前的时区返回日期/时间.

使用检查您的实际时区

echo date_default_timezone_get();
Run Code Online (Sandbox Code Playgroud)

使用设置(更改)它

date_default_timezone_set('UTC'); # UTC is just an example
Run Code Online (Sandbox Code Playgroud)

有关PHP中支持的时区的完整列表,请查看此链接.

例:

date_default_timezone_set('UTC');
echo date('H:i, d M Y', 100000);
Run Code Online (Sandbox Code Playgroud)

输出:

1970年1月2日,03:46

您当前的时区偏移量就是+0100这个原因04:46, 02 Jan 1970.另外不要忘记,回到70年代,很多国家都没有使用DST规则.

参考