在swift中转换时间格式。

时间:2017-09-27 09:30:12

标签: ios swift

我遇到过像这样的时间格式。

2017-09-27T17:25:01 + 08:00

任何人都知道这次是什么意思?以及如何将其与当前时间进行比较以计算剩余或超过的时间?

3 个答案:

答案 0 :(得分:2)

这是ISO 8601格式。

let isoDate = "2017-09-27T17:25:01+08:00"
let dateFormatter = ISO8601DateFormatter()
let myDate: Date? = dateFormatter.date(from: isoDate)

答案 1 :(得分:0)

您可以执行以下操作将字符串转换为Swift中的日期:

let dateStr = "2017-09-27T17:25:01+08:00"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZ"
dateFormatter.date(from: dateStr)

答案 2 :(得分:0)

func dateFormatter(strDate: String, format: String? = "yyyy-MM-dd") -> String {
        // create dateFormatter with local time format
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        dateFormatter.timeZone = NSTimeZone.local
        let date = dateFormatter.date(from: strDate)// create date from string

        // change to a readable time format
        dateFormatter.dateFormat = format
        let timeStamp = dateFormatter.string(from: date!)

        return timeStamp
    }

尝试以上代码转换时间格式。