由于NSDate表示"单个时间点,独立于任何特定的日历系统或时区",是否可以使用timeIntervalSince1970
等方法给出的秒数进行直接计算?
我指的是添加和减去两个NSTimeInterval
(又名double
)值而非使用dateByAddingTimeInterval:
或NSCalendar
方法(如- (nullable NSDate *)dateByAddingComponents:(NSDateComponents *)comps toDate:(NSDate *)date options:(NSCalendarOptions)opts
)的操作。
这些直接计算有哪些问题?
答案 0 :(得分:1)
添加可能没什么意义,但如果你想找到两个日期之间的时间差异,减去确实有意义。
但是,您要注意的是,您应该只使用与减法相比的秒,分,小时,天,周差异
但要找出月份和年份的差异,您需要使用NSDate
API。月和年不是一成不变的
同样添加日期,如果您想添加秒,分钟,小时,天,周。这些是不变的,易于添加。但是几个月和几年会让你失望