Во время работы я получаю сбой, и он указывает на dateFormmater.timezone
.
Ошибка в консоли:
Невозможно передать значение типа Swift.Optional(0x1192bf4a8) в 'NSTimeZone' (0x1192c0270).
значение rowEvents.date
равно "1480134638.0"
Im пытается вытащить временную метку 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*/)