【发布时间】:2019-02-05 03:26:38
【问题描述】:
目前我正在使用这组函数来过滤在我的应用程序中使用的日期对象。
func isInSameWeek(date: Date) -> Bool {
return Calendar.current.isDate(self, equalTo: date, toGranularity: .weekOfYear)
}
func isInSameMonth(date: Date) -> Bool {
return Calendar.current.isDate(self, equalTo: date, toGranularity: .month)
}
func isInSameYear(date: Date) -> Bool {
return Calendar.current.isDate(self, equalTo: date, toGranularity: .year)
}
func isInSameDay(date: Date) -> Bool {
return Calendar.current.isDate(self, equalTo: date, toGranularity: .day)
}
var isInThisWeek: Bool {
return isInSameWeek(date: Date())
}
var isInToday: Bool {
return Calendar.current.isDateInToday(self)
}
var isInTheFuture: Bool {
return Date() < self
}
var isInThePast: Bool {
return self < Date()
}
它们工作正常,但唯一的问题是我想返回当前日期 7 天内的日期对象。因此,如果日期对象发生在 2 月 11 日,那么它也应该被返回。目前我不会返回任何东西,除非它确实在同一个日历周内。
【问题讨论】:
-
Check if date falls between 2 dates - 只需创建两个距离当前日期 +/- 7 天的日期并进行比较
-
所以基本上你想说的是你从stackoverflow.com/a/43664156/1974224复制+粘贴代码,你需要添加新功能但你不知道怎么做?你至少应该说明你是从哪个人那里获取代码的。
-
如果当前时刻是 2019-02-01-12:00:00,您会认为 2019-02-08-14:00:00 是“7 天内”吗?这两个瞬间相差 7 天 2 小时。
-
@robmayoff 从技术上讲不是,但我只是想要一整天
标签: ios swift date dateformatter