我想计算自上次应用启动以来的月数。
为此,我将当前日期保存为viewdidload
至NSUserdefaults
字符串。
在保存当前日期之前,我必须计算旧(已保存)日期与当前日期之间的月差异。
我是NSDates编程的新手,有人能告诉我怎么做吗?以及如何在标签中打印计数?
希望你理解我的意思,也有人可以帮助我...
问丹尼斯
答案 0 :(得分:0)
首选方法是使用NSCalendar。
-(int)differenceInMonthsFrom:(NSDate*)older to:(NSDate*)younger {
NSCalendar *calendar=[NSCalendar currentCalendar];
NSDateComponents *components=[calendar components:NSMonthCalendarUnit fromDate:older toDate:younger options:0];
return [components month];
}
请注意,此功能不会检查订购。从存储的字符串到NSDate可能是一个技巧;将日期存储为整数可能更明智吗?
答案 1 :(得分:0)
你必须使用NSDate
个对象。例如:
NSDate *now=[NSDate date]; // this is **now** date object
NSDate *lastSaved=[NSdate lastDate]; // this is last saved object
NSComparisonResult duration=[now timeIntervalSinceDate:lastSaved]; //this will return time interval between this 2 date object in seconds
hoursInterval=duration/3600; // this will return hours of interval between this 2 date
daysInterval=hoursInterval/24; // this will return days interval between this 2 date
monthsInterval=daysInterval/30; // and this will return month interval between this 2 date