Я пытаюсь создать веб-страницу и показать следующие три события в Календаре Google на главной странице. Я использовал этот PHP (http://james.cridland.net/code/google-calendar.html) для доступа к своему XML-каналу и форматирования его в HTML.
У меня проблема в том, что по какой-то причине новый день начинается в 11 утра. Например, если в моем Календаре Google есть событие с 10 утра 20 декабря, которое длится час, мои выходные данные PHP будут показывать событие, которое начинается в 10 утра 20-го числа и заканчивается в 11 утра 21-го. В противном случае он работает нормально.
Я установил местное (Новая Зеландия) время в моей учетной записи Календаря 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 Calendar XML дает время начала и окончания
2011-12-22T10:00:00.000+13:00
2011-12-23T11:00:00.000+13:00
соответственно, и PHP рассчитывает период времени с 10:00 22 декабря 2011 года до 14:00 23 декабря 2011 года.
Что происходит?!?!