[swift] SwiftDate를 사용하여 날짜 목록에서 주말 제외하기

일반적으로 날짜를 처리하는 데에는 Swift Date 라이브러리를 많이 사용합니다. 이 라이브러리를 사용하면 날짜와 시간을 쉽게 다룰 수 있고, 다양한 날짜 연산을 할 수 있습니다. 이번에는 Swift Date를 사용하여 주말을 제외한 날짜 목록을 생성하는 방법에 대해 알아보겠습니다.

1. Swift Date 라이브러리 설치

먼저, Swift Package Manager를 사용하여 Swift Date 라이브러리를 설치해야 합니다. 프로젝트의 Package.swift 파일로 이동한 다음, dependencies 배열에 다음 항목을 추가합니다:

dependencies: [
    .package(url: "https://github.com/malcommac/SwiftDate.git", from: "6.0.0")
]

그리고 나서 터미널에서 다음 명령어를 사용하여 종속성을 설치합니다:

$ swift package resolve

2. 주말 제외한 날짜 목록 생성하기

이제 주말을 제외한 날짜 목록을 생성하는 방법에 대해 알아보겠습니다. 다음은 Swift Date를 사용하여 이를 구현한 예시입니다:

import SwiftDate

func generateDateList(excludingWeekendsFrom startDate: Date, to endDate: Date) -> [Date] {
    var dateList: [Date] = []
    var currentDate = startDate

    // 주말인지 확인하면서 날짜 목록에 추가합니다
    while currentDate <= endDate {
        if !currentDate.isWeekend {
            dateList.append(currentDate.date)
        }
        currentDate = currentDate + 1.days
    }

    return dateList
}

// 예시 사용
let startDate = Date()
let endDate = startDate + 1.weeks
let dateList = generateDateList(excludingWeekendsFrom: startDate, to: endDate)
print(dateList)

위의 코드에서 generateDateList 함수는 시작 날짜부터 종료 날짜까지의 주말을 제외한 날짜 목록을 생성하는 역할을 합니다. 이를 위해 isWeekend 속성을 사용하여 주말인지 확인하고, dateList 배열에 주말이 아닌 날짜를 추가합니다. 마지막으로 시작 날짜와 종료 날짜를 설정하고 generateDateList 함수를 호출하여 주말이 제외된 날짜 목록을 얻을 수 있습니다.

결론

Swift Date를 사용하여 주말을 제외한 날짜 목록을 생성하는 방법에 대해 알아보았습니다. 주말을 제외한 날짜를 필요로 할 때는 위의 예시 코드를 참고하여 사용해보세요. Swift Date를 사용하면 다양한 날짜 연산을 쉽게 수행할 수 있으므로, 날짜와 시간을 다루는 프로젝트에서 유용하게 사용할 수 있습니다.

참고 문서