[swift] SwiftDate를 사용하여 지정된 기간 동안의 평일 수 계산하기
SwiftDate는 Swift에서 날짜와 시간을 쉽게 다룰 수 있도록 도와주는 라이브러리입니다. 이 라이브러리를 사용하여 특정 기간 동안의 평일 수를 계산하는 방법을 알아보겠습니다.
1. SwiftDate 라이브러리 설치하기
첫 번째로, SwiftDate 라이브러리를 프로젝트에 추가해야 합니다. Cocoapods를 사용한다면, Podfile에 다음과 같이 추가합니다:
pod 'SwiftDate'
그리고 터미널에서 pod install
명령을 실행하여 라이브러리를 설치합니다.
2. 코드 예제
다음은 SwiftDate를 사용하여 지정된 기간 동안의 평일 수를 계산하는 코드 예제입니다:
import SwiftDate
func calculateWeekdayCount(startDate: Date, endDate: Date) -> Int {
var count = 0
let calendar = Calendar.current
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
var currentDate = startDate
while currentDate <= endDate {
if let weekday = calendar.dateComponents([.weekday], from: currentDate).weekday,
weekday != 1 && weekday != 7 {
count += 1
}
currentDate = calendar.date(byAdding: .day, value: 1, to: currentDate)!
}
return count
}
// 예제 사용법
let startDate = DateInRegion(string: "2022-01-01", format: .custom("yyyy-MM-dd"))
let endDate = DateInRegion(string: "2022-01-31", format: .custom("yyyy-MM-dd"))
let weekdayCount = calculateWeekdayCount(startDate: startDate!.date, endDate: endDate!.date)
print("평일 수: \(weekdayCount)")
위 코드는 calculateWeekdayCount
함수를 정의하고, 주어진 날짜 범위 내의 평일 수를 계산합니다. 함수는 시작 날짜와 종료 날짜를 인자로 받으며, while
반복문을 사용하여 시작 날짜부터 종료 날짜까지 하루씩 증가하면서 각 날짜의 요일을 확인합니다. 주말인 경우 평일 수에 포함하지 않고, 평일인 경우에만 평일 수를 증가시킵니다.
3. 실행 결과
위 코드 예제를 실행하면 다음과 같은 결과가 출력됩니다:
평일 수: 21
이는 2022년 1월 1일부터 1월 31일까지의 기간 동안 평일이 21일이라는 의미입니다.