我使用 UTC_TIMESTAMP() 在我的数据库中存储时间戳。
我想根据用户选择的时区输出它们。我尝试编写一个小函数来执行此操作,但是,它不能正确输出。
// Date/time converter
function convertTZ($date, $tz, $tzFormat)
{
$date = new DateTime($date);
$date->setTimezone(new DateTimeZone($tz));
return $date->format($tzFormat);
}
echo $_SESSION['dtCurrLogin'].'<br />';
echo convertTZ($_SESSION['dtCurrLogin'], 'UTC', 'F j, Y @ g:i:s a e');
dtCurrLogin 来自 db = 2013-09-12 01:23:45
以上输出:
2013 年 9 月 12 日 2013 年 9 月 12 日 01:23:45 @ UTC 时间上午 5:23:45
显然,当我从 UTC 转到 UTC 时,这是不正确的,所以它们应该是相等的。如果我更改为输出 EST,那么它会显示凌晨 1:23:45,但当然这也不正确。