2017-02-07 7 views
0

У меня есть приложение, которое отображает время вылета в форме «5:35 PM», и я хотел бы добавить опцию для отображения времени в форме интервала отныне , например: «23 минуты».Лучший способ преобразования строки времени в строку времени

Я новичок в быстрое и я до сих пор обертывание моей головы вокруг дела с датами и датой форматировщиком

+0

Do у вас есть базовый объект 'Date'? Если это так, используйте 'DateIntervalFormatter'. –

ответ

0

Один из способов сделать это, чтобы расширить класс Date вернуть разницу - и, хотя вы только показать минуты , вы должны быть в состоянии обрабатывать интервалы как «3-х дней, 2 часов, 23 минут» - конечно же, вы можете выбрать для отображения, что как только «3 дня», или «более 51 часов»

extension Date 
{ 
    func differenceInDays(date: Date) -> Int 
    { 
     return Calendar.current.dateComponents([.day], from: self, to: date).day! 
    } 
    func differenceInHours(date: Date) -> Int 
    { 
     // returns the TOTAL number of hours, not just the hour component 
     return Calendar.current.dateComponents([.hour], from: self, to: date).hour! 
    } 
    func differenceInMinutes(date: Date) -> Int 
    { 
     // returns the TOTAL number of minutes, not just the minute component 
     return Calendar.current.dateComponents([.minute], from: self, to: date).minute! 
    } 
}