【问题标题】:Xcode How to calculate the number of month between two datesXcode如何计算两个日期之间的月数
【发布时间】:2011-06-25 14:58:46
【问题描述】:

我想计算自上次启动应用以来的月份数。

为此,我将viewdidloadNSUserdefaults 的当前日期保存为字符串。

在我保存当前日期之前,我必须计算旧(保存)日期和当前日期之间的月差。

我是使用 NSDates 编程的新手,有人可以告诉我该怎么做吗?以及如何在标签中打印计数?

希望你明白我的意思,也希望有人可以帮助我......

问候丹尼斯

【问题讨论】:

    标签: xcode compare nsdate nsdateformatter


    【解决方案1】:

    首选方式是使用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 可能是一个技巧;将日期存储为整数可能更明智?

    【讨论】:

      【解决方案2】:

      你必须使用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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-06
        • 2021-07-20
        • 2019-06-07
        • 1970-01-01
        • 1970-01-01
        • 2010-12-04
        相关资源
        最近更新 更多