[swift] SwiftDate를 사용하여 주어진 날짜의 월의 마지막 요일의 날짜 가져오기

이 예시에서는 SwiftDate 라이브러리를 사용하여 작업을 수행합니다. SwiftDate는 Swift에서 날짜 및 시간 관련 작업을 쉽게 처리할 수 있는 강력한 라이브러리입니다.

주어진 날짜의 월의 마지막 요일 날짜 가져오기

아래의 단계를 따라 주어진 날짜의 월의 마지막 요일을 가져오도록 해보겠습니다.

  1. SwiftDate를 프로젝트에 추가합니다. Podfile 파일에 아래의 코드를 추가한 뒤 터미널에서 pod install을 실행하여 라이브러리를 설치합니다.

    pod 'SwiftDate'
    
  2. SwiftDate를 임포트합니다.

    import SwiftDate
    
  3. 주어진 날짜를 생성합니다.

    let givenDate = DateInRegion(year: 2022, month: 10, day: 15)
    
  4. 주어진 날짜의 월의 마지막 날짜를 가져옵니다.

    let lastDayOfMonth = givenDate.endOfMonth
    
  5. 마지막 날짜의 요일을 가져옵니다.

    let lastDayOfWeek = lastDayOfMonth.weekday
    
  6. 만약 마지막 날짜가 토요일(7) 또는 일요일(1)이면, 마지막 날짜를 반환합니다. 그렇지 않은 경우, 마지막 주의 일요일(1)까지의 차이를 계산하여 반환합니다.

    var lastWeekdayDate: DateInRegion
    if lastDayOfWeek == 7 || lastDayOfWeek == 1 {
        lastWeekdayDate = lastDayOfMonth
    } else {
        let difference = 1 - lastDayOfWeek
        lastWeekdayDate = lastDayOfMonth + difference.days
    }
    
  7. lastWeekdayDate를 사용하여 월의 마지막 요일의 날짜를 얻을 수 있습니다.

    let lastWeekday = lastWeekdayDate.day
    

이제 givenDate의 월의 마지막 요일 날짜를 얻기 위해 위의 단계를 따라하면 됩니다. 이 코드를 사용하여 특정 날짜의 월의 마지막 요일 날짜를 가져오는 방법을 배웠습니다.

참고