@Roman1985

IOS Swift timeIntervalSince1970 c правильной временной зоной?

Помогите решить задачу. Конечная цель получить текущее время с правильно временной зоной с секундах с 1970г.
Так NSDate(), не умеет работать с временными зонами, он мне выдает время 3 часовой давности.

Вот мой код:

let date = NSDate()
        let dateFormatter = NSDateFormatter()
        dateFormatter.timeZone = NSTimeZone.localTimeZone()
        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss z"
        var stringDate:String! = dateFormatter.stringFromDate(date) //Тут я получаю правильное время в строковом формате
         println("Нужное мне время в строковом формате \(stringDate)") //->2015-05-08 12:22:06 GMT+3
        let currentDate:NSDate = dateFormatter.dateFromString(stringDate)! //А здесь, у меня опять все возвращается, как было
        println("Нужное время NSDate \(currentDate)")//->2015-05-08 09:22:06 +0000
        

        //Но и тут соответственно секунды от этого числа: 2015-05-08 09:22:06 +0000  выводятся, т.к stringDate - строка, то к ней не применим метод timeIntervalSince1970
        let currentDateSec = Int(currentDate.timeIntervalSince1970)//+Отбрасываем милисекунды
        println("Текущее время в секундах\(currentDateSec)")
  • Вопрос задан
  • 1786 просмотров
Пригласить эксперта
Ответы на вопрос 2
smanioso
@smanioso
Отмечайте ответы на свои вопросы!
https://developer.apple.com/library/ios/documentat... - NSDate ведет себя правильно! Не будьте тряпкой и напишите нужный метод сами - сложить 2 числа не такая уж большая проблема.
PS: кстати, в любой временной зоне с того самого момента прошло одно и то же количество секунд - разве нет?
Ответ написан
Комментировать
Flanker_4
@Flanker_4
Вы совсем не понимаете как "работает время"
Очень рекомендую найти какую-то доку по NSDate и временными зонами, ознакомится, а потом уже лезть в пекло.
Но смысл следующий - nsdate всегда хранит "абсолютное" время
Для вывода в ui одного и того же времени в разных часовых поясах используют nsdateformater
А то что вы делаете - вкорне неверно. Вы можете описать проблему, котороую пытаетесь решить, зачем вам этот перевод?

Вот Вам, для познания дзен https://developer.apple.com/library/ios/documentat...
Смотреть разделы nsdate и time zone
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы