【发布时间】:2011-12-11 10:13:24
【问题描述】:
我正在尝试制作一个网页,并将 Google 日历中接下来的三个活动显示在主页上。我一直在使用这个 PHP (http://james.cridland.net/code/google-calendar.html) 来访问我的 XML 提要并将其格式化为 HTML。
我遇到的问题是,由于某种原因,新的一天从上午 11 点开始。例如,如果我的 Google 日历从 12 月 20 日上午 10 点开始有一个持续一个小时的事件,我的 PHP 输出将显示一个从 20 日上午 10 点开始到 21 日上午 11 点结束的事件。否则它工作正常。
我已在我的 Google 日历帐户中将时间设置为本地(新西兰)时间,并在 PHP 中使用 date_default_timezone_set("Pacific/Auckland");
计算完成日期的可怕线是
$gCalDateEnd = date($dateformat, strtotime($ns_gd->when->attributes()->endTime)+date("Z",strtotime($ns_gd->when->attributes()->endTime)));
其中 $dateformat 是具有日期格式的字符串。
Google 日历 XML 给出的开始和结束时间为
2011-12-22T10:00:00.000+13:00
2011-12-23T11:00:00.000+13:00
PHP 计算的时间范围是 2011 年 12 月 22 日上午 10 点到 2011 年 12 月 23 日下午 2 点。
怎么了?!?!
【问题讨论】:
标签: php xml google-calendar-api utc