반응형
방법 #1. formatter 사용
- 오늘 날짜를 today 변수로 생성
- dateformat01이라는 변수에 date의 fomat을 선언
- 선언된 dateformat01을 today를 문자열로 변환하는 formatter로 사용
방법 #2. function 사용
- 오늘 날짜를 today 변수로 생성
- dateformat02라는 함수 생성
- pDate가 입력될 날짜
- withFormat 날짜 포맷
- dateformat02 함수를 이용하여 today값을 문자열로 변환
DateFormat 유형
아래 예시는 "2023년 7월 14일 금요일 오후 3시 5분 7초 123밀리초" 기준 예시입니다.
Format | 내용 | 예시 |
yy | 연도 마지막 두자리만 표기 | 2023 ▶︎ "23" |
yyyy | 연도 전체 표기 | 2023 ▶︎ "2023" |
M | 월 (숫자) | 7 ▶︎ "7" |
MM | 월 (숫자 2자리 고정) | 7 ▶︎ "07" |
MMM | 월 표기 (약식 문자) | [default] 7 ▶︎ "Jul" [Locale = ko_KR] 7 ▶︎ "7월" |
MMMM | 월 표기 (전체 문자) | [default] 7 ▶︎ "July" [Locale = ko_KR] 7 ▶︎ "7월" |
d | 일 (숫자) | 14 ▶︎ "14" [7일인 경우] 7 ▶︎ "7" |
dd | 일 (숫자 2자리 고정) | 14 ▶︎ "14" [7일인 경우] 7 ▶︎ "07" |
E, EE, EEE | 요일 (약식) | [default] Friday ▶︎ "Fri" [Locale = ko_KR] Friday ▶︎ "금" |
EEEE | 요일 (전체) | [default] Friday ▶︎ "Friday" [Locale = ko_KR] Friday ▶︎ "금요일" |
EEEEE | 요일 (한 글자) | [default] Friday ▶︎ "F" [Locale = ko_KR] Friday ▶︎ "금" |
EEEEEE | 요일 영문은 두 글자 한글 기준은 한 글자 |
[default] Friday ▶︎ "Fr" [Locale = ko_KR] Friday ▶︎ "금" |
a | 오전 / 오후 | [default] AM ▶︎ "AM" [Locale = ko_KR] AM ▶︎ "오전" |
h | 시간 (12시간 기준) | 오후 3시 ▶︎ "3" |
hh | 시간 (12시간 기준, 2자리) | 오후 3시 ▶︎ "03" |
H | 시간 (24시간 기준) | 오후 3시 ▶︎ "15" [오전 3시인 경우] 오전 3시 ▶︎ "3" |
HH | 시간(24시간 기준, 2자리) | 오후 3시 ▶︎ "15" [오전 3시인 경우] 오전 3시 ▶︎ "03" |
m | 분 | 5분 ▶︎ "5" |
mm | 분 (2자리) | 5분 ▶︎ "05" |
s | 초 | 7초 ▶︎ "7" |
ss | 초 (2자리) | 7초 ▶︎ "07" |
S | 밀리초 (ms) | 123ms ▶︎ "0.1" |
SS | 밀리초 (ms, 2자리) | 123ms ▶︎ "0.12" |
SSS | 밀리초 (ms, 3자리) | 123ms ▶︎ "0.123" |
전체 테스트 소스
import SwiftUI
// View 페이지
struct TestView: View {
private var today = Date()
// 방법 #1
let dateformat01: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return formatter
}()
// 방법 #2
func dateformat02(pDate: Date, withFormat format: String) -> String {
let fmt = DateFormatter()
fmt.dateFormat = format
fmt.locale = Locale(identifier: "ko_KR") // 날짜포맷 현지화
return fmt.string(from:pDate)
}
var body: some View {
VStack {
List {
Text("\(today, formatter:dateformat01)")
Text(dateformat02(pDate: today, withFormat: "yyyy-MM-dd HH:mm:ss"))
Text(dateformat02(pDate: today, withFormat: "yyyy-MM-dd"))
Text(dateformat02(pDate: today, withFormat: "yyyy-MM-dd E"))
Text(dateformat02(pDate: today, withFormat: "yyyy-MM-dd EEEE"))
Text(dateformat02(pDate: today, withFormat: "a hh:mm:ss.SSS"))
}
}
}
}
// View 미리보기
struct TestView_Previews: PreviewProvider {
static var previews: some View {
TestView()
}
}
반응형
'개발 창고 > iOS' 카테고리의 다른 글
[SwiftUI] Date에서 특정 값 가져오는 방법 (0) | 2023.08.04 |
---|---|
[SwiftUI] 이전 View로 돌아가는 방법 (Go Back) (0) | 2023.08.03 |
[SwiftUI] TextField에 Text를 설정하는 방법 (0) | 2023.08.02 |
[SwiftUI] Preview에서 @Binding 변수 전달하는 방법 (0) | 2023.08.02 |
[SwiftUI] View에서 Toggle을 사용하는 방법 (0) | 2023.08.01 |