Привет Я пытаюсь найти временной интервал между определенной датой и текущим местным временем.Как преобразовать timeIntervalSinceNow в быстром для читаемой даты
var a = eventDate.timeIntervalSinceNow
println(a)
//1404567.32182503 - output
Когда я пытаюсь сделать это, я получаю вывод, как указано выше. Как я могу изменить это на удобочитаемую дату?
Я хочу рассчитать день, часы, минуты слева. Я не хочу Годы, месяцы, секунды.
ДОЛЖЕН: Я хочу временной интервал между eventdate и местным временем. Не время UTC.
Вот полный код:
//eventDate is 2015-09-01 19:39
var date = NSDate();
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "YYY-MM-dd HH:mm:ss ZZZZ"
dateFormatter.timeZone = NSTimeZone()
var localDateString = dateFormatter.stringFromDate(date)
var localDate: NSDate = dateFormatter.dateFromString(localDateString)!
var components = NSCalendar.currentCalendar().components(.CalendarUnitSecond |
.CalendarUnitMinute | .CalendarUnitHour | .CalendarUnitDay |
.CalendarUnitMonth | .CalendarUnitYear, fromDate: localDate,
toDate: self.eventDate, options: nil)
println("\(components.day) days \(components.hour) hours \(components.minute) minutes")
16 days 5 hours 41 minutes //Origianl output
16 days 0 hours 11 minutes // Expected output
Я думаю, что я перед этой проблемой в связи с изменением времени UTC!
Подсказка: используйте NSCalendar и NSDateComponents. Должны быть некоторые примеры на SO и в Интернете. –
Пробовал. Но получить неправильное значение, потому что, если я даю местное время, это займет время UTC, несмотря ни на что! – AAA
Покажите, что вы пробовали, вместе с вашими входными данными, фактическим результатом и ожидаемым результатом. –