Я делаю таймер обратного отсчета, и я хочу, чтобы он обратился к глобальному обратному отсчету до Рождества. Поэтому у меня есть значение timestamp 1387929600, которое составляет 25 00:00:00. Я регулировать это значение в зависимости от различных часовых поясов, и я делаю это так:Вопросы расчета часового пояса
NSDate *firstDate = [NSDate dateWithTimeIntervalSince1970:1387954801];
NSTimeZone *tz = [NSTimeZone localTimeZone];
int tzInt = [tz secondsFromGMTForDate:firstDate];
int timeDifference = tzInt+1387954801;
xmasDate = [NSDate dateWithTimeIntervalSince1970:timeDifference];
Я беру firstDate
и делать secondsFromGMTForDate
, а затем добавить его к оригинальному номеру метки времени, чтобы получить xmasDate
с поправкой на часовые пояса ,
Этот общий подход, похоже, работает, однако secondsFromGMTForDate
не вычисляется правильно.
Например, когда я устанавливаю свой телефон в текущий часовой пояс, он все равно хочет вычесть "-25200"
с момента времени, когда он будет равен нулю с момента его текущего часового пояса.
Правильно ли я это говорю? Мне может быть что-то упущено в расчете, и, возможно, мне нужно добавить номер метки, но я не уверен.
Любая помощь была бы принята с благодарностью.
С каких это пор Рождество начиналось в полдень плюс одна секунда? Рождество начинается с 25 декабря, 00:00:00. –
извините за вашу опечатку. Я думал, что AM. Правильная отметка времени – Inovize