Swift 4 - 如何将日期时间格式转换为 Unix 格式?

Swift 4 - How can I get dateTime format to Unix format?

在制作一个从我从 API.

获得的非常长的日期格式中获取 unix 时间的函数时遇到了一些问题
func dateToUnix(date: String) -> Double {
    let dateFormatter = DateFormatter()
    dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss-HH:mm"
    let utcDate = dateFormatter.date(from: date)
    guard let unixTime = utcDate?.timeIntervalSince1970 else { return 0.0 }
    return unixTime
}

这是时间的json格式

"startTime": "2018-07-10T01:00:00-05:00",
"endTime": "2018-07-10T02:00:00-05:00",

“-05:00”是时区偏移量,而不是小时和分钟。

func dateToUnix(string: String) -> Double {
    let dateFormatter = DateFormatter()
    dateFormatter.locale = Locale(identifier: "en_US_POSIX")
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
    let date = dateFormatter.date(from: string)
    let unixTime = date?.timeIntervalSince1970 ?? 0.0
    return unixTime
}