Как получить только время из объекта NSDate?

Скажем, например, мой объект Date (ранее NSDate) был создан 12 июня 2016 года в 14:23, как мне извлечь именно эти 14:23 из моего объекта Date? В основном что-то вроде mydate.time.


person Adam Strike    schedule 08.09.2016    source источник
comment
Ваша ссылка полезна, но ее нет в Swift 3. .CalendarUnitHour и .CalendarUnitMinute больше не принимаются.   -  person Adam Strike    schedule 08.09.2016
comment
Ваше сообщение помечено как просто Swift, а не Swift 3.   -  person Wyetro    schedule 08.09.2016


Ответы (1)


Вот удобное расширение, поэтому вы можете использовать let time = Date().time

extension Date {
    var time: String {
        let calendar = Calendar.current
        let components = calendar.dateComponents([.hour, .minute], from: self)
        return "\(components.hour!):\(components.minute!)"
    }
}
person Callam    schedule 08.09.2016
comment
Попробуйте сейчас, изменено для поддержки swift 3 - person Callam; 08.09.2016
comment
@Callam, начиная с Swift 3, вы не используете префикс NS. - person Wyetro; 08.09.2016
comment
@WMios да, плохо, исправил - person Callam; 08.09.2016
comment
@MartinR только что протестировал его на игровой площадке Swift 3, и он работает - person Callam; 08.09.2016
comment
@MartinR да, после я отредактировал, если ты об этом - person Callam; 08.09.2016