【问题标题】:timezone conversion problem in phpphp中的时区转换问题
【发布时间】:2011-05-06 05:30:39
【问题描述】:
$start = new DateTime('2011-05-06 19:30:00', new DateTimeZone('Pacific/Tongatapu'));
$start->setTimezone(new DateTimeZone('GMT'));
$end   = clone $start;
$end->modify(sprintf('+ %d seconds', 1*60*60));

echo $start->format('Ymd\THis\Z'); //Output 20110506T063000Z
echo "<br/>";
echo $end->format('Ymd\THis\Z'); //Output 20110506T073000Z

这里的输出应该是 20110507T063000Z 和 20110507T073000Z.... 任何人都可以帮助...?我没有得到适当的结果......

【问题讨论】:

    标签: php timezone icalendar


    【解决方案1】:

    为什么会是20110507T073000Z?您只添加了1*60*60 seconds = 1 小时。如果您所做的只是增加一个小时,为什么还要更改日期和时间?

    【讨论】:

    • 当我使用新时区作为亚洲/加尔各答时,我认为输出会高于... $start->setTimezone(new DateTimeZone('Asia/Kolkata'));
    【解决方案2】:

    Pacific/Tongatapu 时区是 GMT+13,所以我会说 PHP 是正确的。

    【讨论】:

    • 当我从谷歌日历生成会议请求并将时区保持为太平洋/汤加塔普和下午 7:00 时...在 IST 我收到的时间是我的邮件中的 20110507T063000Z 和 20110507T073000Z .. 那么为什么这样区别...
    • 下午 7:00 是 IST 的大致当前时间吗? GMT 当前时间为 20110506T061000Z
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-31
    • 1970-01-01
    相关资源
    最近更新 更多