DST Причинение разницы во времени в GCal Events на +1 час
У меня есть приложение на основе php, где я интегрировал GCal с API OAuth 2.0. Все отлично работает, кроме DST +1 час выпуска. Это приложение только для Великобритании, и я также храню часовые пояса учетной записи пользователя. Если я добавляю задачу в 3:00 утра, на GCal она показывает мне 4:00 утра. Это когда я жестко закодировал часовой пояс как Европа / Лондон в setTimeZone() при добавлении задачи. Кроме того, настройки учетной записи GCal также как Европа / Лондон. Это немного расстраивает, поэтому, пожалуйста, помогите мне с тем, что я должен изменить в своем коде, чтобы справиться с этой разницей во времени DST +1 час. Вот код:
$evt = new Event();
$evt->setDescription($txtDesc);
$evt->setSummary($taskTypeTxt);
#--Setting Event Date
$evtDT = new EventDateTime();
$evtDT2 = new EventDateTime();
$evtDT->setDateTime($startDate);
$evtDT->setTimeZone('Europe/London');
$evtDT2->setDateTime($endDate);
$evtDT2->setTimeZone('Europe/London');
$evt->setOriginalStartTime($evtDT);
$evt->setStart($evtDT);
$evt->setEnd($evtDT2);
$field = array('items/id');
$evtId = $cal->events->insert($user_email,$evt,$field);
1 ответ
Я страдаю той же проблемой.
Кажется, есть некоторая неопределенность в отношении того, следует ли устанавливать часовой пояс GMT+0 или GMT+1 (BST). Последнее подразумевало бы, что мне впоследствии придется обрабатывать изменения летнего времени вручную, но когда я установил GMT+0, он не обновлялся автоматически при изменении часов.