检查具体日期是否为Swift日期(或已过日期)
通过dateformatter,我如何编写一个函数来知道某个特定日期是否已过或是今天 示例:2020年3月8日 日期( 谢谢您可以:检查具体日期是否为Swift日期(或已过日期),swift,nsdateformatter,Swift,Nsdateformatter,通过dateformatter,我如何编写一个函数来知道某个特定日期是否已过或是今天 示例:2020年3月8日 日期( 谢谢您可以: if Date() >= Calendar.current.dateWith(year: 2020, month: 3, day: 28) ?? Date.distantFuture { return true } else { return false } 其中dateWith(年:月:日:)定义为: extension Calendar
if Date() >= Calendar.current.dateWith(year: 2020, month: 3, day: 28) ?? Date.distantFuture {
return true
} else {
return false
}
其中dateWith(年:月:日:)
定义为:
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)
}
}
此方法基本上返回指定年、月和日的日期
,小时、分钟和秒分量均为0,即指定日的开始。换句话说,我正在检查现在这一刻是否在2020-03-28一天开始之后。您可以执行以下操作:
if Date() >= Calendar.current.dateWith(year: 2020, month: 3, day: 28) ?? Date.distantFuture {
return true
} else {
return false
}
其中dateWith(年:月:日:)
定义为:
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)
}
}
此方法基本上返回指定年、月和日的
日期
,小时、分钟和秒分量均为0,即指定日的开始。换句话说,我正在检查现在的时刻是否在2020-03-28日的开始之后。你关心时区吗?@Sweeper no。重要的是,这是我的特定数据(显然要获取国家当前的本地数据)并与今天进行比较。因此,你想看看用户的本地时间是否已超过某个本地日期。对吗?@Sweeper我只想检查一下这个例子:今天>=8March2020。(因此是指特定日期)你关心时区吗?@Sweeper no。重要的是,这是我的特定数据(显然是为了获取国家当前的本地数据)并与今天进行比较。因此,你想看看用户的本地时间是否已过某个本地日期。对吗?@Sweeper我只想检查一下这个例子:今天>=8March2020。(因此指特定日期)