PHP date_timezone_set什么都不输出

时间:2014-07-29 13:16:46

标签: php mysql date timezone timestamp

我试图将MySQL字段的时区(日期格式如2014-07-28 16:02:44)转换为GMT + 00 / Lisbon /。 问题是当我尝试使用以下内容时:

  $date = date_format($row['theDate'], 'Y-m-d H:i:sP');
  echo date_timezone_set($date, timezone_open('Europe/Lisbon'));

我的输出字段是空白的,我认为可能是因为主机服务器已禁用(不知道为什么,并且花了我一整个上午的重写)mysqli和其他更新的功能(虽然PHP版本是5.3。 8如果我的记忆不是对我撒谎,它应该默认支持它们,所以我不得不回到mysql。 无论如何,我无法转换时区,代码似乎没有错误,应该有效......或者不应该这样做?

1 个答案:

答案 0 :(得分:0)

你应该这样做:

$date = date_create($row['theDate']);
date_timezone_set($date, timezone_open('Europe/Lisbon'));
echo date_format($date, 'Y-m-d H:i:sP') . "\n";

在您的代码中:

$date = date_format($row['theDate'], 'Y-m-d H:i:sP');
echo date_timezone_set($date, timezone_open('Europe/Lisbon'));

date_format()的第一个参数应为DateTime Object。我怀疑$row['theDate']被视为一个字符串。

此外,由于它显示的是空白屏幕,您应该启用错误报告,以便您可以实际查看最新情况。