Использование DateFormatter на метке времени Unix

Я получаю сбой при запуске, и он указывает наdateFormmater.timezone, Ошибка в консоли:

Не удалось преобразовать значение типа «Swift.Optional» (0x1192bf4a8) в «NSTimeZone» (0x1192c0270).

значениеrowEvents.date является"1480134638.0"

Я пытаюсь извлечь метку времени Unix из Firebase, сохраненную в виде строки. Преобразуйте его в Date и снова сохраните как строку, чтобы я мог разместить его на ярлыке ячейки.

Я получил этот код от StackOverflow. Я подключил свои данные, и все было хорошо, пока я не запустил его. Я думаю, что не все хорошо ...

if let lastUpdated : String = rowEvents.date {

    let epocTime = TimeInterval(lastUpdated)! / 1000 // convert it from milliseconds dividing it by 1000

    let unixTimestamp = NSDate(timeIntervalSince1970: epocTime) //convert unix timestamp to Date

    let dateFormatter = DateFormatter()
    dateFormatter.timeZone = NSTimeZone() as TimeZone!
    dateFormatter.locale = NSLocale.current // NSLocale(localeIdentifier: "en_US_POSIX")
    dateFormatter.dateFormat =  "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
    dateFormatter.date(from: String(describing: unixTimestamp))

    let updatedTimeStamp = unixTimestamp
    let cellDate = DateFormatter.localizedString(from: updatedTimeStamp as Date, dateStyle: DateFormatter.Style.full, timeStyle: DateFormatter.Style.medium)

    cell.subtitleLabel.text = cellDate              
}

Результат пришел из этого кода здесь:

let myTimeStamp = self.datePicker?.date.timeIntervalSince1970

let calendarDate = String(describing: myTimeStamp! /** 1000*/)

Ответы на вопрос(5)

Ваш ответ на вопрос