这个问题在这里已有答案:
我正在进行ios开发,我发现很难检查两个NSDates是否来自同一天 . 我试着用这个
fetchDateList()
// Check date
let date = NSDate()
// setup date formatter
let dateFormatter = NSDateFormatter()
// set current time zone
dateFormatter.locale = NSLocale.currentLocale()
let latestDate = dataList[dataList.count-1].valueForKey("representDate") as! NSDate
//let newDate = dateFormatter.stringFromDate(date)
let diffDateComponent = NSCalendar.currentCalendar().components([NSCalendarUnit.Year, NSCalendarUnit.Month, NSCalendarUnit.Day], fromDate: latestDate, toDate: date, options: NSCalendarOptions.init(rawValue: 0))
print(diffDateComponent.day)
但它只是检查两个NSDates是否有24小时的差异 . 我认为有一种方法可以使它工作但是,我希望在早上凌晨2点之前将NSDate值计算为前一天,所以我肯定需要一些帮助 . 谢谢!
2 回答
NSCalendar有一个方法可以完全满足您的需求!
所以你要像这样使用它:
或者在斯威夫特
您应该比较日期组件:
或更短: