HIT해
[Swift] DateFormatter 본문
728x90
1. DateFormatter 설정
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
"yyyy" // 4자리 연도 (2024)
"yy" // 2자리 연도 (24)
// 월
"MM" // 2자리 월 (01-12)
"M" // 1자리 월 (1-12)
// 일
"dd" // 2자리 일 (01-31)
"d" // 1자리 일 (1-31)
// 시간
"HH" // 24시간 형식, 2자리 (00-23)
"H" // 24시간 형식, 1자리 (0-23)
"hh" // 12시간 형식, 2자리 (01-12)
"h" // 12시간 형식, 1자리 (1-12)
// 분
"mm" // 2자리 분 (00-59)
"m" // 1자리 분 (0-59)
// 초
"ss" // 2자리 초 (00-59)
"s" // 1자리 초 (0-59)
// 추가적으로 알면 유용한 포맷
"a" // 오전/오후
"E" // 요일 (월,화,수...)
"EEEE" // 전체 요일 (월요일,화요일...)
2. String to Date
dateFormatter.dateFormat = "HH:mm"
dateFormatter.date(from: "11:40")
3. 날짜 더하기
Calendar.current.date(byAdding: .minute, value : 더할값, to: 기존 시간)!
let date = dateFormatter.date(from: dateString)!
Calendar.current.date(byAdding: .hour, value: 20, to: date)!
// Calendar.current.date 는 고정
4. 날짜 차이 구하기
let timeDiff = Calendar.current.dateComponents([.hour, .minute], from: currentTime, to: targetTime)
let hours = timeDiff.hour ?? 0
let minutes = timeDiff.minute ?? 0
from에 이전 날짜를 넣어줘야한다. 그렇지 않으면 음수가 나오게 된다.
[] 배열 에 넣는 값은 어떤 값들을 계산할지를 정해준다,
그렇게 나온 dateComponents ( timeDiff ) 에서
.minute .hour 를 사용해서 특정 값을 추출해준다.
5. DateComponets 활용하기
var threeDaysComponents = DateComponents()
threeDaysComponents.day = 3
let threeDaysLater = calendar.date(byAdding: threeDaysComponents, to: now)
DateComponents 객체를 생성하고 값을 설정해주면
날짜를 더할때 어떤 값을 더할지 설정해주지 않아도된다. ( value 값을 넣지 않아도됨 )
Calendar.current.date(byAdding: .hours, value : 30, to : 기존날짜)
'Swift > Swift 알고리즘' 카테고리의 다른 글
[Swift/프로그래머스] 혼자서 하는 틱택토 ( 완전탐색 ) (0) | 2024.11.01 |
---|---|
[Swift/프로그래머스] 리코쳇 로봇 (BFS) (0) | 2024.11.01 |
[Swift/프로그래머스] 과제 진행하기 (?) (0) | 2024.11.01 |
[Swift/프로그래머스] 연속된 부분 수열의 합 (그리디) (0) | 2024.10.31 |
[Swift/프로그래머스] 요격 시스템 (그리디) (0) | 2024.10.31 |