Посмотрел похожие вопросы и нашел, что в Swift нет ответов, есть много ответов исключительно для форматирования даты, но не в сочетании с итерацией.Как преобразовать массив строк даты в массив объектов даты, Swift
У меня есть массив строк даты, как ниже:
let dateStrings = ["2016-12-22T08:00:00-08:00", "2016-12-22T08:15:00-08:00", "2016-12-22T08:30:00-08:00"]
Я хотел бы, чтобы преобразовать их в массив локальных dateObjects как ниже
var dateObjects = [2016-12-22 21:30:00 +0530, 2016-12-22 21:45:00 +0530, 2016-12-22 22:00:00 +0530]
Я попытался перебором массив строк даты, но я получаю эту ошибку:
"fatal error: unexpectedly found nil while unwrapping an Optional value"
Так что я попробовал с дополнительной привязкой w без успеха. Пожалуйста, совет, где я могу ошибиться.
var dateObjects = [Date]()
let dateFormatter = DateFormatter()
for date in dateStrings{
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
let dateObject = dateFormatter.date(from: date)
self.dateObjects.append(dateObject!) // ERROR LINE
}
Когда я пытаюсь с дополнительным обязательным его будет через другую печать заявления «Невозможно преобразовать даты объекта»
for date in dateStrings{
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZZZZZ"
if let dateObject = dateFormatter.date(from: date){
self.dateObjects.append(dateObject!) // ERROR LINE
}
else{
print("Unable to convert to date object")
}
}
эй я побежал ваш код, все работы просто отлично. не ошибка. вы уверены, что это строка, которая вызывает ошибку? –
Интересно, ваш код работает на меня ... –
вам не нужно использовать 'self.dateObjects.append (dateObject!)' Использовать только 'dateObjects.append (dateObject!)' Он будет работать –