我是Swift的新手。 我有一个大(只为我)的问题。 我有NSUserDefaults什么我需要删除到每天结束。 我知道我需要为此比较日期,但我不知道如何去做。检查两个NSDate实例是否包含相同的日期值
1
A
回答
0
您应该使用NSCalendar方法而isDate(inSameDayAsDate :),所以我们可以创建一个使用该方法返回一个布尔值的NSDate扩展:
extension NSDate {
struct Calendar {
static let gregorian = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
}
func isInSameDayAs(date date: NSDate) -> Bool {
return Calendar.gregorian.isDate(self, inSameDayAsDate: date)
}
}
用法:
let date1 = NSDate()
let date2 = NSDate().dateByAddingTimeInterval(60)
if date1.isInSameDayAs(date: date2){
print("true") // "true\n"
} else {
print("false")
}
0
给出两个日期dataA
和dateB
let calendar = NSCalendar.currentCalendar()
var componantsA = calendar.components(NSCalendarUnit.MonthCalendarUnit | NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.DayCalendarUnit, fromDate:dateA)
var componantsB = calendar.components(NSCalendarUnit.MonthCalendarUnit | NSCalendarUnit.YearCalendarUnit | NSCalendarUnit.DayCalendarUnit, fromDate:dateB)
var sameDay:Bool = (componantsA.day == componantsB.day) && (componantsA.month == componantsB.month) && (componantsA.year == componantsB.year)
+0
非常感谢你,守谷!它解决了我的问题! :) –
相关问题
- 1. 检查是否包含两个日期
- 2. 两个实例包含相同的值
- 3. 如何检查两个字典是否包含相同的值?
- 4. 检查两个列表是否包含相同的元素
- 5. 检查两个字符串是否包含相同的模式
- 6. 检查两个arraylist是否包含相同的元素
- 7. 检查两个数组是否包含相似的值
- 8. 检查两个不同列中的值是否包含匹配
- 9. Java - 如何检查两个日期值是否相隔X天
- 10. 检查2个不同的等值实例(包含示例)
- 11. Java,如何检查两个2d数组是否包含相同的值
- 12. 检查字符串是否包含两次相同的字符
- 13. 检查两个查询是否相同
- 14. mqsql - 检查选定的行是否包含相同的值
- 15. 如何检查两个日期是否在同一日历日
- 16. 检查两个列表包含相同的属性值
- 17. 检查日期列表是否包含特定日期
- 18. 如何检查一个字符串是否包含两个相同的字符?
- 19. 检查数据是否包含同一个字符的多个实例
- 20. Swift:检查两个NSDates是否相同
- 21. 检查两个json是否相同
- 22. 检查两个ID是否相同
- 23. 检查两个jar类是否相同
- 24. 检查两个Dask是否相同
- 25. 如何检查一个Bool值列表是否包含相同的值?
- 26. 检查2个字符串是否包含相同的字符?
- 27. 查询以检查日期是否在两个月的日期值之间
- 28. 检查两个对象实例以查看它们是否相同
- 29. 如何检查日期是否被python中的另一个日期所包含?
- 30. 检查一个字符串是否包含日期
狮子座,这是正确的,只有当应用程序将在这个间隔(60秒)工作,这段代码才会做些什么?但如果用户将在11关闭应用程序并在1打开? –
@ЕгорКузнецов60秒只是在同一天创建一个不同的日期,当然如果你在11:59:0xpm的情况下尝试这个,如果会给你2天不同的日期 –
你只需要将NSDate()保存到NSUserDefaults和下一个用户打开应用程序的所有时间是检查Now(NSDate())是否与保存的日期不同。如果不是在发布时删除它并保存新日期 –