Swift의 Date 객체 이해하기
Swift에서 Date 값은 특정 달력 시스템이나 시간대와 독립적인 하나의 시점(point in time)을 나타냅니다. 즉, Date 값은 절대 기준일(absolute reference date)로부터 상대적인 시간 간격으로 표현되며, 어떤 지역 설정과 무관하게 동일한 순간을 가리킵니다.
날짜에 1일 추가하는 방법
iOS 개발에서 날짜에 하루를 더하는 작업은 생각보다 간단합니다. 핵심은 Calendar 클래스의 date(byAdding:to:) 메서드를 활용하는 것입니다.
Playground에서 실습하기
이번 예제는 Xcode Playground에서 바로 실행해 볼 수 있습니다. 아래 코드를 Playground에 복사해서 붙여넣어 보세요.
let date = Date() let addedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) print(addedDate ?? "")
코드 설명
Date()는 현재 시점을 나타내는 새로운 날짜 객체를 생성합니다. 그다음 Calendar.current.date(byAdding: .day, value: 1, to: date) 구문은 현재 사용자의 캘린더 설정을 기준으로 입력받은 날짜에 1일을 더한 새로운 Date 값을 반환합니다.
마지막 줄의 print(addedDate ?? "")는 결과가 옵셔널(Optional) 타입이기 때문에 nil 병합 연산자(??)를 사용해 안전하게 출력합니다. 만약 날짜 계산에 실패하면 빈 문자열이 대신 출력됩니다.
추가 팁: 다른 단위로 날짜 더하기
같은 방식으로 .day 대신 다른 Calendar.Component를 사용할 수 있습니다. 예를 들어 .hour, .weekOfYear, .month, .year 등을 활용하면 시간, 주, 월, 연도 단위로도 손쉽게 날짜를 조작할 수 있습니다. value에 음수를 넣으면 과거 날짜를 계산할 수도 있습니다.