【发布时间】:2016-12-10 12:08:50
【问题描述】:
我有一个这样的日期值:
$date_value = "2016-12-10 11:28:36";
我的 TimeZone 是 Asia/Tehran,它与 GMT 有 3:30 的偏移量(因此它变成了 GTM3:30+)。我将我的内容保存在 14:58,但它使用上述值 ($date_value) 保存项目,这听起来合乎逻辑,因为它使用了与 GMT (GMT00) 没有偏移的服务器时区。
现在,我想将日期转换回我想要的时区“亚洲/德黑兰”,但我的日期程序没有按预期工作(“预期”是指它不会将日期时间转换回 14: 59:00) 这是德黑兰的时间。这是我使用的代码:
$DateTime = new DateTime($date_value, new DateTimeZone("Asia/Tehran"));
print $DateTime->format($format); // edited the question with on this line
但它会打印出确切的日期,就好像没有变化一样。
它总是有效,但我不知道为什么它不适用于这种特定情况。我在这里做错了什么?
【问题讨论】:
-
怎么不行?
-
编辑了问题。
-
是的,我的错。我的意思是格式()
-
我不太熟悉时区,但也许
format没有考虑时区?如果您使用$format = 'd.m.Y H:i:sP';,您可以看到有正确的+03:30值。