[swift] SwiftDate를 사용하여 지정된 기간 동안의 특정 요일 수 계산하기
SwiftDate는 Swift에서 날짜 및 시간을 다루는 라이브러리입니다. 이 라이브러리를 사용하면 날짜 및 시간 연산을 간단하게 수행할 수 있습니다. 이번에는 SwiftDate를 사용하여 특정한 기간 동안 특정 요일이 몇 번 나타나는지 계산하는 방법에 대해 알아보겠습니다.
1. SwiftDate 설치
먼저, SwiftDate를 사용하기 위해서는 라이브러리를 설치해야 합니다. Package.swift
파일에 다음과 같이 의존성을 추가합니다.
dependencies: [
.package(url: "https://github.com/malcommac/SwiftDate.git", from: "6.0.0")
]
그리고 이후 swift package update
명령어를 실행하여 패키지를 업데이트합니다.
2. 특정 기간 동안의 특정 요일 수 계산하기
import SwiftDate
let startDate = Date().adddingTimeInterval(-3600 * 24 * 30) // 현재로부터 30일 전의 날짜
let endDate = Date() // 현재 날짜
let mondaysCount = (startDate...endDate).filter { $0.weekday == Weekday.monday }.count
let tuesdaysCount = (startDate...endDate).filter { $0.weekday == Weekday.tuesday }.count
print("월요일 수: \(mondaysCount)")
print("화요일 수: \(tuesdaysCount)")
위의 예제에서는 현재 날짜(EndDate)와 30일 전의 날짜(StartDate) 사이의 기간을 계산합니다. 그리고 이 기간 동안의 월요일과 화요일의 개수를 세는 방법을 보여줍니다.
startDate
와 endDate
를 변경하여 원하는 기간을 설정할 수 있습니다. 그리고 filter
와 count
를 사용하여 특정 요일의 개수를 계산합니다.
3. 결과 확인하기
위의 예제를 실행하면 특정 기간 동안 월요일과 화요일의 개수가 출력됩니다.
월요일 수: 4
화요일 수: 5
이와 같이 SwiftDate를 사용하여 특정한 기간 동안의 특정 요일 수를 계산할 수 있습니다.