Календарь и часовые пояса iPhone (EventKit)

60
6

Обработка часового пояса на iPhone кажется мне немного запутанной. Что касается добавления нового EKEvent в календарь устройства, похоже, что вы всегда просто устанавливаете время начала и окончания в локальное время, нет часового пояса или смещения, с которыми нам нужно работать. Это правда?


Я предполагаю, что устройство знает часовой пояс во время создания записи. Путаница возникает при просмотре настроек устройства/почты, контактов, календарей и прокрутки до нижней части данных часового пояса. Поддерживать ли часовой пояс ON/OFF, заданный часовой пояс и т.д.


Итак, если я нахожусь в Калифорнии и добавляю событие к устройству, и для часового пояса установлено значение "Нью-Йорк", а поддержка часового пояса включена, какое время будет отображаться в EKEvent?


Кто-нибудь работал с календарем iOS через EventKit и получил уроки, чтобы узнать о обработке часового пояса? Или это прямолинейно, просто используйте локальное время и введите событие, и устройство позаботится об остальном?


Спасибо.

спросил(а) 2010-12-16T19:05:00+03:00 10 лет, 1 месяц назад
1
Решение
112

NSDate не имеют часовой пояс, они находятся в UTC (AFAIK). Если вам нужно конвертировать из/в определенный часовой пояс, используйте NSCalendar. Я полагаю, что Mail и друзья нуждаются в явной обработке часовых поясов для дат, поступающих из внешних источников.

ответил(а) 2010-12-16T19:19:00+03:00 10 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема