2013-03-22 2 views
1

Мне нужно время GMT для даты. Я использую этот методGMT смещение на дату в объекте c

double numberOfHours = (double)[timeZone secondsFromGMTForDate:date]/ 3600.0; 

На самом деле в Берлине, Германия DST будет ON на 31 марта 2013 года и времени будет меняться в 2:00 утра. Проблема заключается в том, что я хочу, чтобы GMT-смещение использовалось только с использованием даты. Если дата = 31-3-2013 00:00:00, то она возвращает +1. он возвращает +2 после 31-3-2013 02:00:00. Есть ли способ/способ, с помощью которого можно получить смещение часового пояса без использования компонентов времени?

+0

нет необходимости приводить в действие как двойное, так и все будет хорошо. и 3600,0 будут удвоены. –

ответ

1

Если вы хотите избежать использования компонентов времени. Вы можете использовать эти методы

nextDaylightSavingTimeTransition и daylightSavingTimeOffsetForDate:NSDate

из NSTimeZone класса.

1

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

Но нет, без каких-либо компонентов времени на всю дату по умолчанию будет полночь, и вы получите (правильно на тот момент) результат +1.

+0

Время меняется (+1 к +2) на 31 марта. Мне нужно +2 для 31 марта без использования компонентов времени. – user2163780

+1

Почему вы думаете, что это возможно? Это не истинное утверждение. В полночь в этот день это +1. Почему вы не можете просто добавлять компоненты времени до того, как будете вычислять? – borrrden

1

Возможно, вы используете NSDateFormatter с пользовательским форматом даты, например @"zzz", который вернет смещение часовой пояс для данного NSDate.

Смежные вопросы