Swift convert unix time to date and time Swift convert unix time to date and time ios ios

Swift convert unix time to date and time


You can get a date with that value by using the NSDate(withTimeIntervalSince1970:) initializer:

let date = NSDate(timeIntervalSince1970: 1415637900)


To get the date to show as the current time zone I used the following.

if let timeResult = (jsonResult["dt"] as? Double) {     let date = NSDate(timeIntervalSince1970: timeResult)     let dateFormatter = NSDateFormatter()     dateFormatter.timeStyle = NSDateFormatterStyle.MediumStyle //Set time style     dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle //Set date style     dateFormatter.timeZone = NSTimeZone()     let localDate = dateFormatter.stringFromDate(date)}

Swift 3.0 Version

if let timeResult = (jsonResult["dt"] as? Double) {    let date = Date(timeIntervalSince1970: timeResult)    let dateFormatter = DateFormatter()    dateFormatter.timeStyle = DateFormatter.Style.medium //Set time style    dateFormatter.dateStyle = DateFormatter.Style.medium //Set date style    dateFormatter.timeZone = self.timeZone    let localDate = dateFormatter.string(from: date)                     }

Swift 5

if let timeResult = (jsonResult["dt"] as? Double) {    let date = Date(timeIntervalSince1970: timeResult)    let dateFormatter = DateFormatter()    dateFormatter.timeStyle = DateFormatter.Style.medium //Set time style    dateFormatter.dateStyle = DateFormatter.Style.medium //Set date style    dateFormatter.timeZone = .current    let localDate = dateFormatter.string(from: date)                                }


It's simple to convert the Unix timestamp into the desired format. Lets suppose _ts is the Unix timestamp in long

let date = NSDate(timeIntervalSince1970: _ts)let dayTimePeriodFormatter = NSDateFormatter()dayTimePeriodFormatter.dateFormat = "MMM dd YYYY hh:mm a" let dateString = dayTimePeriodFormatter.stringFromDate(date)  print( " _ts value is \(_ts)")  print( " _ts value is \(dateString)")