我正在尝试计算从一个日期到另一个日期的天数,并找到了两种方法。
第一个使用NSDateComponents,如下所示:
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [gregorianCalendar components:NSDayCalendarUnit
fromDate:date1
toDate:date2
options:0];然后每天检查组件。
第二个使用timeInterval:
NSInteger timeInterval = [date2 timeIntervalSinceDate:date1];然后得到timeInterval/3600/24
一种方法比另一种方法更好(可能是因为timeInterval方法缺乏精确度)?
谢谢!
发布于 2014-05-09 13:22:47
使用dateComponent比通过假设timeInterval/3600/24来操纵自己要好得多。
原因:
小时(常用符号:H或
)是时间的度量单位。在现代用法中,一个小时由60分钟或3600秒组成。它大约是平均太阳日的1/24。
世界协调时间(UTC)时间标准中的一个小时可以包括负的或正的闰秒,因此出于调整目的可以具有3,599秒或3,601秒的持续时间。
来源:Wikipedia Hour。
https://stackoverflow.com/questions/23557117
复制相似问题