使用此Calendar
功能比较iOS 8.0+中的日期
func compare(_ date1: Date, to date2: Date, toGranularity component: Calendar.Component) -> ComparisonResult
传递.day
为单位
如下使用此功能:
let now = Date()
// "Sep 23, 2015, 10:26 AM"
let olderDate = Date(timeIntervalSinceNow: -10000)
// "Sep 23, 2015, 7:40 AM"
var order = Calendar.current.compare(now, to: olderDate, toGranularity: .hour)
switch order {
case .orderedDescending:
print("DESCENDING")
case .orderedAscending:
print("ASCENDING")
case .orderedSame:
print("SAME")
}
// Compare to hour: DESCENDING
var order = Calendar.current.compare(now, to: olderDate, toGranularity: .day)
switch order {
case .orderedDescending:
print("DESCENDING")
case .orderedAscending:
print("ASCENDING")
case .orderedSame:
print("SAME")
}
// Compare to day: SAME
是来自UIKit吗?我在Foundation项目中找不到它。
这是新的iOS 8.0
NSCalendar
API之一。见NSCalendar.h
在的iOS 7.1到iOS 8.0 API差异最后,我总是想念它。
@theReverend是来自旧版本Swift的宿醉。已更新2.0版-谢谢!
我认为这两个评论表明预期结果是错误的。
// Compare to day: DESCENDING
应该是SAME
,反之亦然。