因此,作为新手,我已经通过Stackoverflow查看了这个问题,并没有找到类似于我正在寻找的示例。许多例子都关心闰年/秒。我不。我只需要0到90之间的数字。我不关心半天等等。示例:2012年1月1日@ 2359 - 2012年1月2日@ 0001 =我柜台一整天。
我需要的是设定一个日期,随着时间的推移,倒计时显示'originalDate + 90 - 今天的日期'。一旦'originalDate + 90 - 今天的日期'= 0,从那时起只显示0。
我该怎么做?
感谢。
答案 0 :(得分:2)
有些事情需要研究:
NSDate有一个名为timeIntervalSinceDate的方法。使用此选项可获取接收器与给定日期之间的秒数。
使用NSDateComponents设置“90天后”,这样您就可以配置秒数等等。 Apple文档详细描述了这一点。
您将采取的基本步骤:
答案 1 :(得分:0)
首先从开始日期开始结束
NSTimeInterval ninetyDays = 90*24*60;
NSDate endDate = [NSDate dateWithTimeInterval:ninetyDays sinceDate:originalDate];
然后删除NSDate对象的“time”(小时分,秒)部分:
NSDate *currentDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:¤tDateInDaysPrecision
interval:NULL forDate:[NSDate date]];
NSDate *endDateInDaysPrecision;
[calendar rangeOfUnit:NSDayCalendarUnit startDate:&endDateInDaysPrecision
interval:NULL forDate:endDate];
现在您可以使用它来计算天数差异:
// calculate the difference in days
NSDateComponents *difference = [calendar components:NSDayCalendarUnit
fromDate:currentDateInDaysPrecision
toDate:endDateInDaysPrecision
options:0];
NSInteger differenceInDays = [difference day];
那应该这样做。
修改强>
学到的