Xcode如何计算两个日期之间的月份数

| 我想计算自上次启动应用程序以来的月份数。 为此,我将当前日期从
viewdidload
保存为
NSUserdefaults
作为String。 保存当前日期之前,必须计算旧(保存)日期与当前日期之间的月份差。 我是NSDates编程的新手,有人可以告诉我该怎么做吗?以及如何在标签上打印计数? 希望你理解我的意思,也有人可以帮助我... 问候丹尼斯     
已邀请:
        首选方法是使用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可能是一个技巧。将日期存储为整数可能更明智?     
        您必须使用
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
    

要回复问题请先登录注册