可以使用 NSDate timeIntervalSince1970 产生的秒数进行操作吗?

Is it OK to operate with seconds produced by NSDate timeIntervalSince1970?

既然NSDate代表的是"a single point in time, independent of any particular calendrical system or time zone",直接用它的方法给定的秒数,比如timeIntervalSince1970,可以直接计算吗?

我的意思是像对两个 NSTimeInterval(又名 double)值进行加减运算,而不是使用像 - (nullable NSDate *)dateByAddingComponents:(NSDateComponents *)comps toDate:(NSDate *)date options:(NSCalendarOptions)opts 这样的 dateByAddingTimeInterval:NSCalendar 方法。

什么问题会有这样的直接计算?

加法可能意义不大,但如果您想找出两个日期之间的时间差,减法确实有意义。

然而,你要注意的是,你应该只计算与减法相差的秒、分钟、小时、天、周

但是要找出月份和年份的差异,您需要使用 NSDate API。月份和年份不固定

与添加日期类似,如果您想添加秒、分钟、小时、天、周。这些是不变的并且易于添加。但是几个月和几年会让你绊倒