[swift] SwiftDate를 사용하여 날짜 목록에서 평일 외의 일자 가져오기

Swift에서 날짜와 관련된 작업을 수행할 때 SwiftDate 라이브러리는 매우 유용한 도구입니다. 이 라이브러리를 사용하여 날짜 목록에서 평일 외의 일자를 가져오는 방법을 알아보겠습니다.

SwiftDate 설치

SwiftDate 라이브러리를 사용하려면 먼저 프로젝트에 해당 라이브러리를 설치해야 합니다. CocoaPods를 사용하여 설치하려면 Podfile에 다음을 추가합니다:

pod 'SwiftDate'

그런 다음 터미널에서 pod install을 실행하여 라이브러리를 설치합니다.

코드 예시

다음은 SwiftDate를 사용하여 평일 외의 날짜를 가져오는 예시 코드입니다.

import SwiftDate

// 날짜 목록 생성
let startDate = Date().dateAt(.startOfMonth)
let endDate = startDate + 30.days

let allDates = startDate...endDate

// 평일 외의 날짜 필터링
let nonWeekdays = allDates.filter { date in
    return !date.isWeekday
}

// 결과 출력
for date in nonWeekdays {
    print(date.string(format: .date))
}

위의 코드에서는 Date()를 사용하여 현재 날짜를 가져온 다음, startOfMonth를 적용하여 해당 월의 첫 날을 계산합니다. 그런 다음 30.days를 더하여 30일간의 날짜 범위를 생성합니다.

날짜 범위에 있는 모든 날짜를 검사하여 isWeekday를 사용하여 주말인지 여부를 확인합니다. 주말이 아닌 경우에만 결과에 포함됩니다.

마지막으로 결과를 출력하기 위해 date.string(format: .date)를 사용하여 날짜를 문자열로 변환합니다.

결과

위의 코드를 실행하면 다음과 같은 결과가 출력됩니다:

2022-07-04
2022-07-05
2022-07-06
2022-07-07
2022-07-08
...

위의 결과에서는 30일간의 날짜 범위에서 평일인 모든 날짜가 출력됩니다.

이제 SwiftDate를 사용하여 평일 외의 날짜를 가져오는 방법을 알았습니다. 이를 응용하여 다양한 날짜 작업을 수행할 수 있습니다. SwiftDate의 다양한 기능을 탐색하여 프로젝트에 적합한 날짜 관련 작업을 구현해 보세요.