在编写一个函数来从这个非常长的日期格式获取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",
发布于 2018-07-10 07:42:38
"-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
}
https://stackoverflow.com/questions/51255299
复制相似问题