반응형
개발을 하다보면 날짜를 구하거나, 날짜차이를 알아야 할때가 있습니다. 이럴 경우 어떻게 처리하는지 알아 보겠습니다.
Year, Month, Day 알아내기
Calender를 사용하면 간편하게 입력된 날짜의 Year, Month, Day를 알아낼 수 있습니다. 그럼 바로 알아보겠습니다.
let now = Date()
let components = Calendar.current.dateComponents([.year,.month, .day], from: now)
let year = components.year
let month = components.month
let day = components.day
위와 같이 처리할 경우 Year, Month , day의 값을 Int로 알아낼수 있습니다.
만일 현재 날짜가 아닌 입력된 날짜라면 그 입력값을 Date로 변경해준 후 위의 dateComponents를 사용해주면 됩니다.
날짜 차이 구하기
날짜 차이의 경우에도 동일한 dateComponents를 사용해주면 됩니다. 다만 차이점은 from뒤에 to가 필요합니다.
let myDateComponents = DateComponents(year: 2023, month: 11, day: 21)
let startDate = Calendar.current.date(from: myDateComponents)!
//년,월,일 차이 계산
let offsetComps = Calendar.current.dateComponents([.year,.month,.day], from: startDate, to: Date())
let offsetYear = offsetComps.year
let offsetMonth = offsetComps.month
let offsetDay = offsetComps.day
// 일 차이 계산
let dayOffsetComps = Calendar.current.dateComponents([.day], from: startDate, to: Date())
let onlyDayOffset = dayOffsetComps.day
위가 같이 작성할 경우 현재와 2023년 11월 21일의 차이를 확인 할 수 있습니다.
offsetComps의 경우에는 년, 월, 일로 그 차이를 확인 할 수 있고 (ex: year: 1, month: 2, day: 3), dayOffsetComps의 경우에는 총 차이 일수(ex: 60)를 확인 할 수 있습니다.
반응형
'2023년 부터 > iOS&Swift' 카테고리의 다른 글
[iOS] 공백만 입력되었는지 체크하는 로직 (0) | 2024.01.12 |
---|---|
[iOS] Android System.currentTimeMillis 사용하기 (1) | 2023.11.25 |
[iOS] iOS 개발에서의 핵심 이해: sizeToFit과 sizeThatFits (1) | 2023.11.21 |
[iOS]iOS 개발을 위한 필수 라이브러리: Kingfisher의 쉬운 사용법 (1) | 2023.11.21 |
[iOS] UITextField 글자수 제한, 백스페이스 처리 (0) | 2023.11.21 |