Есть вопрос, очень похоже на баг, но возможно я что-то не понимаю, есть DateFormatter c такими настройками:
let formatter = DateFormatter()
formatter.timeZone = TimeZone(secondsFromGMT: 0)
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
Так вот, на некоторых(!) устройствах с 12-часовым форматом времени, такой форматтер форматирует текущее время в 2020-09-22T10:00:23.489 PMZ, то есть не смотря на HH часы указываются в 12 часовом формате с PM/AM, при обратном декодинге этого же значения возникает ошибка.
Лечится указанием локали у форматтера, dateFormatter.locale = Locale(identifier: "en_US_POSIX") или даже просто "en", но хочу разобратьс в причине такого поведения, есть мысли?