[swift] SwiftDate를 사용하여 날짜 목록에서 특정 기간 동안의 일자 가져오기

이번 포스트에서는 SwiftDate라는 라이브러리를 사용하여 날짜 목록에서 특정 기간 동안의 일자를 가져오는 방법에 대해 알아보겠습니다.

SwiftDate란?

SwiftDate는 Swift에서 날짜와 시간을 다루기 위해 만들어진 강력한 라이브러리입니다. 이 라이브러리는 날짜 및 시간 계산에 유용한 여러가지 기능을 제공하고 있습니다.

코드 예제

다음은 SwiftDate를 사용하여 날짜 목록에서 특정 기간 동안의 일자를 가져오는 예제 코드입니다.

import SwiftDate

func getDatesWithinRange(startDate: Date, endDate: Date) -> [Date] {
    var dates: [Date] = []
    let calendar = Calendar.current
    let days = calendar.dateComponents([.day], from: startDate, to: endDate).day ?? 0
    
    for day in 0...days {
        if let date = calendar.date(byAdding: .day, value: day, to: startDate) {
            dates.append(date)
        }
    }
    
    return dates
}

// 사용 예시
let startDate = Date() // 시작일(오늘)
let endDate = startDate + 7.days // 시작일로부터 7일 후
let datesWithinRange = getDatesWithinRange(startDate: startDate, endDate: endDate)

// 결과 출력
print(datesWithinRange)

위의 코드는 getDatesWithinRange라는 함수를 정의한 후, 시작일과 종료일을 인자로 받아 해당 기간 동안의 일자 배열을 반환합니다. 이를 테스트하기 위해 시작일을 오늘로 설정하고 종료일을 7일 후로 설정하였습니다. 결과는 배열로 출력됩니다.

결과 출력 예시

[2021-11-01 12:00:00 +0000, 2021-11-02 12:00:00 +0000, 2021-11-03 12:00:00 +0000, 2021-11-04 12:00:00 +0000, 2021-11-05 12:00:00 +0000, 2021-11-06 12:00:00 +0000, 2021-11-07 12:00:00 +0000]

위의 출력 예시에서 볼 수 있듯이, 시작일로부터 7일간의 일자가 배열로 출력되었습니다.

참고 자료

이번 포스트에서는 SwiftDate를 이용하여 날짜 목록에서 특정 기간 동안의 일자를 가져오는 방법에 대해 알아보았습니다. 이러한 라이브러리를 사용하면 날짜 및 시간 관련 작업을 더욱 편리하게 처리할 수 있습니다. 위의 예제 코드와 참고 자료를 활용하여 자신만의 기능을 추가해보세요.