小编典典

如何计算两个日期之间的差额?

swift

如何计算2010年1月1日至2010年2月3日之间的日期?


阅读 1184

收藏
2020-07-07

共1个答案

小编典典

NSDate *date1 = [NSDate dateWithString:@"2010-01-01 00:00:00 +0000"];
NSDate *date2 = [NSDate dateWithString:@"2010-02-03 00:00:00 +0000"];

NSTimeInterval secondsBetween = [date2 timeIntervalSinceDate:date1];

int numberOfDays = secondsBetween / 86400;

NSLog(@"There are %d days in between the two dates.", numberOfDays);

编辑:

请记住,NSDate对象表示确切的时刻,它们没有任何关联的时区信息。当您使用例如一个字符串转换为日期NSDateFormatter时,NSDateFormatter从配置的时区的时间转换。因此,两个NSDate对象之间的秒数
始终 是时区不可知的。

此外,本文档还指定可可的时间实现方式不包含leap秒,因此,如果您需要这种准确性,则需要滚动自己的实现方式。

2020-07-07