我正在尝试使用Swift创建每周重复发送的本地通知。通知将设置为每周的第一天和10:00。当然我不想为过去的日期设置通知,所以我需要查看它是否已经过了10:00的第一天。如果没有,我将在今天10:00创建通知,否则在下周一周一10:00创建通知。
我创建了一个扩展来计算当前日期的周数。
extension NSDate {
func weekOfYear() -> Int {
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(NSCalendarUnit.WeekOfYear, fromDate: self)
let weekOfYear = components.weekOfYear
return weekOfYear
}
}
我不能再进一步了。任何帮助表示赞赏。 问候。
答案 0 :(得分:2)
您的问题有一个更简单的解决方案。您可以使用nextDateAfterDate()
的{{1}}方法:
NSCalendar
这给出了将来的第一个日期,即一周的第一天的10:00。