궁금한 내용을 검색해보세요!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
서근 개발노트
티스토리에 팔로잉
USEFUL CODE

(CODE) DateFormatter - 한국날짜 형식으로

서근
QUOTE THE DAY

-
Written by SeogunSEOGUN

반응형

Text

SwiftUIText 뷰에는 화면에서 날짜를 더보기 좋게 만드는 두 가지 date formatters 가 있습니다.

하나는 단일 날짜를 처리하고, 다른 하나는 날짜 범위를 처리합니다.

 

date formatter를 대한민국의 날짜로 만들어 주기위해 작성해줘야 하는것이 있습니다.

 static let dateformat: DateFormatter = {
       let formatter = DateFormatter()
        formatter.dateFormat = "YYYY년 M월 d일"
        return formatter
    }()

이렇게 dateformat을 만들어주고, 이제 Text로 출력을 해줘야 하는데 오늘의 날짜를 우선 생성해줘야 합니다.

var today = Date()
var body: some View {       
   Text("오늘의 날짜입니다 : \(today)")     
}

저렇게 today 를 불러오면 위 사진처럼 전체 날짜 및 위치가 뜨게 되는데, 이것을 우리가 만들어준 dateFormatter를 사용해여 원하는 텍스가 출력될 수 있도록 만들어 줘야 합니다.

 Text("오늘의 날짜입니다 : \(today, formatter: ContentView.dateFormat)")

TIP
 
 

formatter를 작성할때 "YYYY년 M월 d일" 의 'd일'을 대문자 'D'로 쓰면 날짜 오류가 납니다.
그렇기 때문에 반드시 소문자 'd일' 로 작성 해야합니다.

DatePicker

DatePicker에서 사용할 수 있는 DateFormatter 사용법에 대해서 알아보도록 하겠습니다.

먼저 DateFormatter를 변수로 생성해주고 dateStyle을 만들어 return해줘야 합니다.

    var dateFormatter: DateFormatter {
        let formatter = DateFormatter()
        formatter.dateStyle = .long
        return formatter
    }

formatter.dateStyle = .long / .medium / . short 등 다양한 옵션이 있으니 확인해보는것이 좋습니다.

 

만약, 대한민국의 날짜 형태로 나타나게 하고 싶다면 아래와 같이 작성합니다.

    static let dateFormat: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateFormat = "YYYY년 M월 d일"
        return formatter
    }()

 

VStack 안에 DatePicker을 넣어 아래와 같이 코드를 넣어주면 되는데, displayedComponents 스타일을 .date로 지정 해줘야 합니다.

 

(displayedComponents에 관한 내용은 게시물 아래로 내려보시면 알 수 있습니다.)

    @State private var birthDate = Date()
    
    var body: some View {
        VStack {
            DatePicker(selection: $birthDate, in: ...Date(), displayedComponents: .date) {
                Text("날짜를 선택하세요")
            }
            
            Text("오늘의 날짜는 \(birthDate, formatter: ContentView.dateFormat) 입니다.")
        }
        .padding()
    }
}

 

 

읽어주셔서 감사합니다🤟

 


잘못된 내용이 있으면 언제든 피드백 부탁드립니다.


서근


위처럼 이미지 와 함께 댓글을 작성할 수 있습니다.