日付の判定 過去/未来/今
SwiftのDate型には素晴らしい判定処理用のメソッドとemunが用意されています。
毎回どれがどれだか忘れてしまうのでまとめます。
ComparisonResult
ComparisonResultというenumで今か未来か過去かを判定することができます。どれがどれかはコメントの記載通りです。
public enum ComparisonResult : Int {
//未来
case orderedAscending
//今
case orderedSame
//過去
case orderedDescending
}
使ってみる
let past = Date(timeIntervalSinceNow: -100)
let now = Date()
let future = Date(timeIntervalSinceNow: 100)
if now.compare(future) == .orderedAscending {
print("今は未来より過去")
}
if now.compare(now) == .orderedSame {
print("今と今は同じ時間")
}
if now.compare(past) == .orderedDescending {
print("今は過去より未来")
}