Создайте ical с часовым поясом, используя смещение utc вместо имени часового пояса. - PullRequest
0 голосов
/ 22 мая 2018

в моей базе данных я храню дату и время в UTC с дополнительным смещением часового пояса столбца в качестве часового пояса вместо имени часового пояса.

event_start         | event_end           | time_zone_offset

2017-12-25 10:00:00 | 2017-12-25 20:00:00 | +01:00

Теперь мне нужно создать файл ics с использованием этих значений.Везде, где я искал решение, они используют имена часовых поясов.Можно ли использовать только смещение utc вместо имени часового пояса?И если это возможно, то как?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 23 мая 2018

Вы можете использовать время UTC (используя формат UTC, описанный в https://tools.ietf.org/html/rfc5545#section-3.3.5) , если ваше событие не повторяется .

Для повторяющихся событий в большинстве случаевВы хотите использовать местное время + tzid, поскольку абсолютное время каждого экземпляра будет меняться в зависимости от летнего времени.

0 голосов
/ 22 мая 2018

Если ваши даты уже сохранены в UTC, я бы просто определил их как даты UTC в обычном формате (трейлинг Z) и не заботился о информации о часовых поясах.Приложение календаря должно автоматически отображать событие в текущем часовом поясе пользователя

$event_start = "2017-12-25 10:00:00";
$timestamp = strtotime($event_start);
echo "DTSTART:" . date("Ymd\THis\Z", $timestamp); //DTSTART:20171225T100000Z
...