iOS/Swift

[swift] "yyyy-MM-dd'T'HH:mm:ss"형식 String -> Date dateFormat 변환 실패

Downey 2023. 12. 14. 10:11

서버로부터 "yyyy-MM-dd'T'HH:mm:ss"형식의 String을 전달받는다.

let df = DateFormatter(format: "yyyy-MM-dd'T'HH:mm:ss")
df.timeZone = TimeZone(abbreviation: "GMT+9")

의 설정으로 변환한다.

 

그런데, 간혹 어떤 해당 DateFormatter를 사용하여 String -> Date 변환이 실패하는 경우가 있다.

보통은 사용자 디바이스의 Locale 설정에 따라서 문제가 생기는 걸로 보인다.

 

내 경우, 디바이스의 Locale 설정이 미국 iPad에서 발생했으며, OS버전을 가리지 않았다.

 

해결법은 간단하다.

df.locale = Locale(identifier: "en_US_POSIX")

를 추가한다.