【发布时间】:2021-05-17 16:02:39
【问题描述】:
大家好,在比较日期早于比today
为此,我使用带有此布尔值的Date 扩展
extension Date {
var isPreviousDate: Bool {
return self.timeIntervalSinceNow.sign == .minus
}
}
这是我的问题..当我打印日期进行比较时,它告诉我今天的日期更早,我不明白为什么
由于我遇到问题,我尝试创建一个当前日期并将其与今天的日期进行比较,答案是今天的日期早于今天......这很奇怪,因为它不应该告诉我它更旧
这就是我创建date 进行比较的方式
var calendar = Calendar(identifier: Calendar.current.identifier)
calendar.timeZone = NSTimeZone(name: "UTC")! as TimeZone
guard let selectedDate = calendar.date(from: DateComponents(year: Date().currentYear, month: Date().currentMonth, day: Date().currentDate)) else { return }
print("isPrevious Date :",selectedDate.isPreviousDate)
print(selectedDate)
我做错了吗?
这是我打印创建日期以进行比较时在控制台中读取的内容
isPrevious Date: true
2021-02-11 00:00:00 +0000
【问题讨论】:
-
目前尚不清楚您要实现的目标,因为您在谈论“今天”,但您的代码正在使用时间戳。那么这是像“比今天更早”这样的日期比较,还是像“现在之前/当前时间”这样的时间比较?
-
不,正如我在问题中所说,我需要将特定日期与当前日期进行比较,并知道特定日期是否早于当前日期。
标签: ios swift date calendar timezone