如何在Swift 3.0中更改字符串的时间格式

时间:2016-12-20 04:03:04

标签: swift time format

我有一个像“22:02:20”的字符串,需要将其格式化为“10:02:00”我试过这个:

    let time = "22:02:00"

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "HH:mm:ss"


    let calendar = Calendar.current
    let unitFlags = Set<Calendar.Component>([.hour, .minute])

    staticHoraInicio = calendar.dateComponents(unitFlags, from: dateFormatter.date(from: time))

但我得到22和2,我怎么能得到10和02.我也尝试:

let horaF = dateFormatter.date(from: time!)

但我得到类似“2000-01-02 03:00:00 +0000”的内容,¿有一种方法可以格式化没有日期的时间字符串吗?

我需要这个来存储来自DB的开始时间和结束时间,将它与当前时间进行比较,如果它介于两者之间,有关如何执行此操作的一些示例???

1 个答案:

答案 0 :(得分:10)

let time = "22:02:00"

let dateFormatter = DateFormatter()

dateFormatter.dateFormat = "HH:mm:ss"

var fullDate = dateFormatter.date(from: time)

dateFormatter.dateFormat = "hh:mm:ss a"

var time2 = dateFormatter.string(from: fullDate!)