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

PHP date showing wrong time despite the timestamp being correct

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

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

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

464400

然而当我使用下面这行代码时:

<?php echo date("H:i",$timestamp); ?>

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

我完全被卡住了,这在我以前从未发生过,而且这个问题最近才出现 - 代码没有更改,之前一切似乎都正常工作。

有人遇到过这个问题吗?任何帮助将不胜感激。

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

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

  date_default_timezone_set('Europe/London');

甚至更好 php.ini

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

date.timezone="Europe/London"

或者您可以更具体地使用 GMT 而不是 Europe/London(具有夏令时)

试试这个

// set default timezone
date_default_timezone_set('UTC');
//define unix timestamp
$timestamp = 1456778973;
// output
echo date('d M Y H:i:s',$timestamp);

试试这个转换器到 http://freeonlinetools24.com/

试试这个方法就可以了

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

代码

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

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

?>

时区:https://www.php.net/manual/en/timezones.php

date_default_timezone_set('America/Chicago');

echo date("m/d/Y h:i:s A");