Я пытаюсь преобразовать свою строку в дату, используя статический форматировщик даты.Когда я выполняю вызов stringToDate()
с помощью переменных ниже, возвращается значение nil
.
Я проверял предыдущие посты об этой проблеме, где люди говорят, что это из-за dateformatter locale
илиtimeZone
.Однако в данном случае это, похоже, не проблема.
Кто-нибудь знает, в чем проблема может быть в этом случае?Мой код ниже:
import Foundation
class DateHelper {
private static let dateFormatter: DateFormatter = {
let df = DateFormatter()
df.dateFormat = "yyyy-MM-dd hh:mm:ss"
df.locale = Locale(identifier: "en_GB")
df.timeZone = TimeZone.current
return df
}()
static func stringToDate(str: String, with dateFormat: String) -> Date? {
dateFormatter.dateFormat = dateFormat
let date = dateFormatter.date(from: str)
return date
}
}
var myDate = Date()
var dateStr = "2019-02-19T17:10:08+0000"
print(DateHelper.stringToDate(str: dateStr, with: "MMM d yyyy")) // prints nil