Странная проблема с часовым поясом в календаре Tapku Library - PullRequest
0 голосов
/ 22 сентября 2011

У меня странная проблема с календарем библиотеки Тапку.

Я показываю события в календаре библиотеки Тапку. Я получаю дату с моего сервера в часовом поясе Америки / Торонто. то есть. -500.

Мой системный и календарный часовой пояс установлен в Торонто, Канада, в настройках приложения.

Итак, проблема в том, что в календаре показывается одно событие в неправильном представлении дня (плитки дня). Событие состоится 16 ноября 2011 года, и оно будет показано 17-го числа в календаре.

11/16/2011 17:00 -0500

Итак, я нашел решение сделать часовой пояс GMT.

[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];

И выше работает нормально с часовым поясом Торонто. Теперь я установил часовой пояс в Риме, Италия, и он должен показывать это событие 16-го числа, но оно показывает 17-го.

Итак, проблема в том, что если я держусь выше линии, она отлично работает с часовым поясом Торонто, Канада, и проблема с часовым поясом Рима, Италия, и если я удаляю эту линию, тогда она отлично работает для Рима, Италия и проблемы с Торонто, Италия. ,

Для этого я попытался установить systemTimeZone и localTimeZone, но все равно не повезло.

Итак, что я должен сделать, чтобы держать событие на правильном дневном обзоре для всех часовых поясов?

Пожалуйста, дайте мне знать, если вам потребуется дополнительная информация.

Ответы [ 2 ]

2 голосов
/ 24 октября 2012

Все [NSTimeZone timeZoneForSecondsFromGMT: 0]; следует заменить на [NSTimeZone systemTimeZone];

Если это не systemTimeZone, вам нужно отредактировать даты, приходящие из UIDatePicker, чтобы отразить изменение часового пояса, и все даты будут отображаться днем ​​позже, если вы этого не сделаете.

Вот вопрос: https://github.com/devinross/tapkulibrary/issues/40

2 голосов
/ 23 февраля 2012

Вот ответ на похожую проблему: https://stackoverflow.com/a/9405625/220154

Я думаю, что календарь тапку устанавливает GMT: 0 в качестве даты, которую он использует для сравнения с вашими датами, поэтому он сильно портит часовые пояса. вероятно, вам нужно будет сократить дату до полуночи по Гринвичу, когда вы проверяете, какие даты включить в календарь.

надеюсь, это поможет.

...