Having some trouble making a function that gets the unix time from this very long date format that I get from an API.
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
}
Here is the json format for the time
"startTime": "2018-07-10T01:00:00-05:00",
"endTime": "2018-07-10T02:00:00-05:00",
The "-05:00" is the timezone offset, not the hour and minutes.
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
}