2016-02-27 2 views
0

Когда я получить компоненты, как секунды:Как получить правильное время, используя NSDate с компонентами быстрых

NSCalendar.currentCalendar() компоненты (.Second, FromDate:. SavedDate, Todate: todayDate, опции: [ ]). второй

Я получаю секунды с этой даты. Но я пытаюсь получить все компоненты, такие как дни и часы, которые дают мне общее количество в каждом из них.

Если я получу часы, скажем, 36 часов, а дни покажут один день.

Я хочу, чтобы он показывал 1 день и 12 часов.

2. Как запустить счетчик или таймер с этими компонентами?

ответ

0

Вы должны указать все единицы измерения в параметре components, который вы хотите рассмотреть.

let components = NSCalendar.currentCalendar().components([.Second, .Minute, .Hour, .Day], fromDate: savedDate, toDate: todayDate, options: []) 
print(components) 

В качестве альтернативы использовать NSDateComponentsFormatter, он может создать (локализованную) строку. Укажите единицы измерения и стиль.

let formatter = NSDateComponentsFormatter() 
formatter.allowedUnits = [.Day, .Hour, .Minute, .Second ] 
formatter.unitsStyle = .Full 
let dateString = formatter.stringFromDate(savedDate, toDate: todayDate)! 
print(dateString) 

Что касается вашего второго вопроса, пусть счетчик подсчитывается в секундах и отформатирует секунды для чтения человеком соответственно.

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