有没有办法找出两个 NSDate
之间的准确差异?
我找到了解决方案,但它们不够准确。我需要考虑夏令时,不同的月份有不同的天数等。
计算分钟、小时和天的简单计算(例如/60/60/24 等)并未将它们考虑在内。
假设我需要算出现在的时间 ([NSDate date]
) 和 12 月 25 日晚上 10:22(用户使用日期选择器选择的日期 [datePicker date] ]
) 举个例子,我该怎么做?
知道确切的时差不是关键,只要我有准确的日月年差就可以了。
最佳答案
来自 Apple 的 Date & Time Programming Guide :
list 12 获取两个日期之间的差异
NSDate *startDate = ...;
NSDate *endDate = ...;
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *components = [gregorian components:unitFlags
fromDate:startDate
toDate:endDate options:0];
NSInteger months = [components month];
NSInteger days = [components day];
关于ios - 获取两个 NSDate 之间的准确时差?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8387360/