Ical.Net: флаг AsUtc события не обновляется правильно

Я сталкиваюсь с этой проблемой в Ical.Net версии =4.0.1.0 и ниже. Когда мы получаем "GMT-0500" в DTSTART/DTEND, тогда это дает то же время UTC, что и местное время в AsUtc. Но если я вручную заменю "GMT-0500" на "Канада / Восточная", то это даст правильное время utc в AsUtc.

Следующее не работает нормально -:

DTSTART;TZID=GMT-0500:20181213T190000
DTEND;TZID=GMT-0500:20181213T220000

Следующее работает отлично -:

DTSTART;TZID=Canada/Eastern:20181213T190000
DTEND;TZID=Canada/Eastern:20181213T220000

1 ответ

  • GMT-0500 не является действительным часовым поясом IANA. Вот список часовых поясов IANA. Ты хочешь Etc/GMT+5,
  • Canada/Eastern устарела. Я предлагаю вам использовать America/Toronto вместо.

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

Были также некоторые ошибки с кешированием AsUtc значения, как я отметил в примечаниях к выпуску. Я предлагаю обновить до 4. последний. Это должно быть обратно совместимо.

Другие вопросы по тегам