[iOS | Swift] UIDatePicker 시간대 Local로 설정하기

someng·2022년 12월 30일
0

iOS

목록 보기
26/33

UIKit 앱에서 UIDatePicker을 사용하는데 선택된 날짜의 시간대가 잘못 출력된다 😱

원인

date picker은 Local time을 사용하지만, UTC time으로 저장된다

해결법

extension Date {
    var convertedDate:Date {
        let dateFormatter = DateFormatter()
        let dateFormat = "yyyy.MM.dd HH:mm"
        dateFormatter.dateFormat = dateFormat
        let formattedDate = dateFormatter.string(from: self)

        dateFormatter.locale = NSLocale.current
        dateFormatter.timeZone = TimeZone(abbreviation: "GMT+0:00")

        dateFormatter.dateFormat = dateFormat
        let sourceDate = dateFormatter.date(from: formattedDate)

        return sourceDate!
    }
}

// 사용법: datePicker.date.convertedDate
profile
👩🏻‍💻 iOS Developer

0개의 댓글