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

iOS 애플리케이션을 개발하다 보면, 날짜와 관련된 작업을 수행해야 할 때가 많습니다. 이 중에서 특정 날짜 목록에서 평일만 추출하는 작업은 꽤 일반적입니다. 이번 글에서는 SwiftDate 라이브러리를 사용하여 날짜 목록에서 평일의 일자를 가져오는 방법에 대해 알아보겠습니다.

SwiftDate란?

SwiftDate는 Swift 언어로 개발된 iOS 애플리케이션에서 날짜와 시간을 다루는 작업을 쉽게 할 수 있는 라이브러리입니다. 다양한 날짜 계산 및 변환 기능을 제공하여 개발자들이 복잡한 날짜 처리를 간편하게 수행할 수 있습니다.

평일의 일자 가져오기

먼저, SwiftDate 라이브러리를 프로젝트에 추가해야 합니다. Cocoapods를 사용하는 경우, Podfile에 다음과 같이 라이브러리를 추가합니다.

pod 'SwiftDate'

이제 import SwiftDate 문을 사용하여 SwiftDate를 프로젝트에서 사용할 수 있도록 설정합니다.

import SwiftDate

그런 다음, 날짜 목록을 생성하고 평일의 일자만 필터링하는 메소드를 작성합니다.

func getWeekdays(from startDate: Date, to endDate: Date) -> [Date] {
    // 시작 날짜부터 종료 날짜까지의 모든 날짜를 생성
    let allDates = (startDate...endDate).generate(.day, .default)
    
    // 평일인 날짜만 필터링
    let weekdays = allDates.filter { date in
        return date.weekday != .saturday && date.weekday != .sunday
    }
    
    return weekdays
}

위의 코드에서 startDateendDate는 날짜 범위의 시작과 끝을 나타내는 매개변수입니다. generate 메소드를 사용하여 시작 날짜부터 종료 날짜까지의 모든 날짜를 생성하고, filter 메소드를 사용하여 평일인 날짜만 필터링합니다.

사용 예시를 살펴보겠습니다.

let startDate = Date(year: 2022, month: 1, day: 1)
let endDate = Date(year: 2022, month: 12, day: 31)

let weekdays = getWeekdays(from: startDate, to: endDate)
for weekday in weekdays {
    print(weekday.date)
}

위 코드는 2022년 1월 1일부터 12월 31일까지의 평일을 출력하는 예시입니다.

요약

SwiftDate 라이브러리를 사용하면 날짜와 관련된 작업을 더욱 간편하게 수행할 수 있습니다. 이번 글에서는 SwiftDate를 사용하여 날짜 목록에서 평일의 일자를 가져오는 방법을 알아보았습니다. 날짜 계산과 변환에 대한 더 자세한 정보는 SwiftDate GitHub 저장소를 참고하세요.