🍎 iOS & Swift

[iOS] Date compare(_:) λ©”μ„œλ“œ

taeeekki 2022. 10. 12. 18:11

λ©”μ„œλ“œ μ •μ˜

func compare(_ other: Date) -> ComparisonResult
  • λ‹€λ₯Έ λ‚ μ§œμ™€ λΉ„κ΅ν•΄μ£ΌλŠ” μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ

μ‚¬μš© μ˜ˆμ‹œ

import Foundation

// Date String
let targetDateString = "2022-08-10"
let comparisonDateString = "2022-12-08"

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"

// Optional Binding
guard
    let pastDate = dateFormatter.date(from: targetDateString),
    let futureDate = dateFormatter.date(from: comparisonDateString)
else { fatalError() }

// compare(_:) λ©”μ„œλ“œ
// - return Enumeration(ComparisonResult)
switch pastDate.compare(futureDate) {
case .orderedSame:
    print("\(futureDate)와 κ°™μ•„μš”.")
case .orderedAscending:
    print("\(futureDate)보닀 κ³Όκ±°μ˜ˆμš”.")
case .orderedDescending:
    print("\(futureDate)보닀 λ―Έλž˜μ˜ˆμš”.")
}
  • λ‚ μ§œκ°„ 비ꡐ μ‹œ μœ μš©ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆμ„ 것 κ°™μ•„μš”.
  • Date μžλ£Œν˜•λΌλ¦¬ 비ꡐ할 λ•Œ μ‚¬μš©ν•  수 있고, μ—΄κ²¨ν˜•μ„ λ°˜ν™˜ν•΄μ€λ‹ˆλ‹€.
  • μ—΄κ±°ν˜•μ˜ 경우 orderedSame(동일), orderedAscending(이전), orderedDescending(이후)으둜 λ‚˜λ‰˜μ–΄μš”.
    • 기쀀은 νƒ€κ²Ÿ λ‚ μ§œμž…λ‹ˆλ‹€. νƒ€κ²Ÿ λ‚ μ§œκ°€ 비ꡐ λ‚ μ§œλ³΄λ‹€ ~ν•œμ§€λ‘œ ν•΄μ„ν•˜λ©΄ λ©λ‹ˆλ‹€.