Я создал новый проект приложения с одним viewDidLoad
и добавил только следующий код в метод ViewController viewDidLoad
:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/yy"
if let date = dateFormatter.date(from: "11/20") {
print("got the date: \(date)")
} else {
print("failed getting the date")
}
Вышеприведенный код работает повсюду в мире, кроме городов, которые наблюдают за бразилийским летним временем (BRST).
Я проверил города во всех 38 часовых поясах, перечисленных здесь, изменив часовой пояс на устройстве в разделе "Настройки"> "Основные"> "Дата и время". Я также подтвердил, что города BRST отлично работают на устройстве iOS 11.0, но не iOS 11.2.6.
Также обратите внимание, что даже на iOS 11.2.6 почти каждая другая комбинация месяца/года, которую я пробовал, работает нормально. Только "11/20" и "11/26", похоже, терпят неудачу.
Почему этот код возвращает ноль для городов, которые наблюдают BRST на iOS 11.2.6?