尽管时间戳正确,PHP日期显示错误的时间

use*_*277 7 php timestamp date

我遇到了PHP日期函数的问题,我之前从未遇到过问题.

时间戳是完全正确的,但是由于某些奇怪的原因,date()输出的时间不对应.

我有以下时间戳(这绝对是正确的 - 当我将它回显到页面上,以及在数据库中,它显示为正确):

464400
Run Code Online (Sandbox Code Playgroud)

然而,当我使用以下代码行时:

<?php echo date("H:i",$timestamp); ?>
Run Code Online (Sandbox Code Playgroud)

我上午4点的时间?如果我将时间戳粘贴到时间戳转换器网站,那么它显示的时间实际上应该是上午9点.

我完全陷入困境,这在我之前从未发生过这个问题最近刚出现 - 代码没有改变,一切似乎都在以前正常工作.

有没有人有这个问题的经验?任何帮助,将不胜感激.

exu*_*sum 14

该时间戳是格林威治标准时间上午9点,如果你在另一个时区,那么你需要相应地调整它.

http://php.net/manual/en/function.date-default-timezone-set.php

  date_default_timezone_set('Europe/London');
Run Code Online (Sandbox Code Playgroud)

甚至在php.ini中更好

http://php.net/manual/en/datetime.configuration.php

date.timezone="Europe/London"
Run Code Online (Sandbox Code Playgroud)

或者你可以更具体地使用GMT而不是欧洲/伦敦(有DST)


小智 5

试试这个方法会奏效

对于时区 http://php.net/manual/en/timezones.php

代码

<?php
date_default_timezone_set('Asia/Kolkata'); 

$dt2=date("Y-m-d H:i:s");
echo $dt2;

?>
Run Code Online (Sandbox Code Playgroud)