检查具体日期是否为今天(或已过)Swift
Check if specific date isToday (or passed) Swift
通过 dateformatter,我如何编写一个函数来知道特定日期是已经过去还是今天?
示例:2020 年 3 月 8 日
日期()
if Date() >= 28March2020 {
return true
} else {
return false
}
谢谢
你可以这样做:
if Date() >= Calendar.current.dateWith(year: 2020, month: 3, day: 28) ?? Date.distantFuture {
return true
} else {
return false
}
其中 dateWith(year:month:day:)
定义为:
extension Calendar {
func dateWith(year: Int, month: Int, day: Int) -> Date? {
var dateComponents = DateComponents()
dateComponents.year = year
dateComponents.month = month
dateComponents.day = day
return date(from: dateComponents)
}
}
该方法基本returnsDate
指定年月日,时分秒分量全部为0,即指定日的开始.换句话说,我正在检查现在是否是在 2020-03-28 日开始之后。
通过 dateformatter,我如何编写一个函数来知道特定日期是已经过去还是今天?
示例:2020 年 3 月 8 日
日期()
if Date() >= 28March2020 {
return true
} else {
return false
}
谢谢
你可以这样做:
if Date() >= Calendar.current.dateWith(year: 2020, month: 3, day: 28) ?? Date.distantFuture {
return true
} else {
return false
}
其中 dateWith(year:month:day:)
定义为:
extension Calendar {
func dateWith(year: Int, month: Int, day: Int) -> Date? {
var dateComponents = DateComponents()
dateComponents.year = year
dateComponents.month = month
dateComponents.day = day
return date(from: dateComponents)
}
}
该方法基本returnsDate
指定年月日,时分秒分量全部为0,即指定日的开始.换句话说,我正在检查现在是否是在 2020-03-28 日开始之后。