NSTimeZone
, я полагаю. Не могу сказать, что когда-либо сам делал Objective-C, но это выглядит правильно ...
У Apple также есть (довольно короткая) статья об ее использовании .
Вполне вероятно, что они не будут прямыми эквивалентами в во всех отношениях, конечно ... но если есть что-то, что вы бы использовали с TimeZone
Java, который вы не можете понять в NSTimeZone
, спросите об этом конкретном звонке ... и кто-то еще может помочь вам, я уверен:)
РЕДАКТИРОВАТЬ: цель класса часовых поясов состоит в преобразовании между местным временем в разных часовых поясах. Например, сейчас для меня это 19:50, но для человека, с которым я собираюсь позвонить по скайпу, это 12:50. Один из вариантов представления даты и времени состоит в том, чтобы всегда сохранять их в UTC (что является своего рода «нулем» часовых поясов) и затем преобразовывать значение UTC в «местное» время для пользователя, например, для демонстрации. Это не всегда правильный вариант, но это обычно хорошая отправная точка.
В других случаях вы можете иметь местное время и знать часовой пояс человека X - и захотеть преобразовать его в часовой пояс человека Y. обычно проще всего сделать, преобразовав местное время в UTC (используя часовой пояс X), а затем преобразовав его обратно в местное время, используя часовой пояс Y.
Часовые пояса не так просты, как вы могли бы ожидать - в основном из-за перехода на летнее время. Странности:
- Локальное время, которое либо не существует, либо происходит дважды из-за переходов DST
- Часовые пояса, которые переходят на летнее время в полночь, поэтому полночь не всегда существует
- Правительства решают отказаться от (или ввести) ТЛЧ практически без уведомления
- летнее время, которое не обычное "движение на час вперед". IIRC, Тибет рассматривает вопрос о введении летнего времени 1: 15.
- Исторические изменения часовых поясов
Список можно продолжить.