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

时间:2015-04-08 21:59:12

标签: php date timestamp

我的PHP日期功能出现问题,我之前从未遇到任何问题。

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

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

464400

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

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

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

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

有没有人对此问题有任何经验?任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:13)

该时间戳是格林尼治标准时间上午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而不是欧洲/伦敦(有DST)

答案 1 :(得分:4)

尝试此方法将起作用

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

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

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

?>

答案 2 :(得分:1)

试试这个

// 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/

答案 3 :(得分:0)

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

date_default_timezone_set('America/Chicago');

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

相关问题