[swift] SwiftDate를 사용하여 지정된 기간 동안의 특정 요일의 날짜 목록 가져오기
SwiftDate는 Swift에서 날짜 및 시간 작업을 쉽게 처리할 수 있도록 해주는 유용한 라이브러리입니다. 이 라이브러리를 사용하면 지정된 기간 동안 특정 요일의 날짜 목록을 쉽게 가져올 수 있습니다.
1. SwiftDate 라이브러리 설치
먼저, 프로젝트에 SwiftDate 라이브러리를 설치해야 합니다. Swift Package Manager를 사용할 경우 Package.swift
파일에 아래와 같은 의존성을 추가합니다.
dependencies: [
.package(url: "https://github.com/malcommac/SwiftDate.git", from: "6.0.0")
]
CocoaPods를 사용한다면 Podfile에 아래와 같은 팟을 추가합니다.
pod 'SwiftDate', '~> 6.0'
Carthage를 사용한다면 Cartfile에 아래와 같은 줄을 추가합니다.
github "malcommac/SwiftDate" ~> 6.0
2. 코드 작성
다음으로, SwiftDate를 사용하여 지정된 기간 동안의 특정 요일의 날짜 목록을 가져오는 코드를 작성해보겠습니다. 아래의 예제는 2022년 1월 1일부터 2022년 12월 31일까지 매주 수요일인 날짜를 가져오는 코드입니다.
import SwiftDate
let startDate = DateInRegion(year: 2022, month: 1, day: 1)
let endDate = DateInRegion(year: 2022, month: 12, day: 31)
let wednesdays = startDate...endDate |> [(.weekday, .wednesday)]
for date in wednesdays {
print(date.toFormat("yyyy-MM-dd"))
}
위의 코드에서는 DateInRegion
객체를 사용하여 시작일과 종료일을 설정합니다. |>
연산자를 사용하여 DateInRegion
객체의 범위를 생성하고, [.weekday, .wednesday]
와 같은 형태로 원하는 요일을 선택합니다. 마지막으로, 가져온 날짜 목록을 순회하며 원하는 형식으로 출력합니다.
3. 실행 결과
위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.
2022-01-05
2022-01-12
2022-01-19
2022-01-26
...
출력된 날짜 목록은 2022년 1월 1일부터 2022년 12월 31일까지의 모든 수요일을 나타냅니다.