【问题标题】:components:NSQuarterCalendarUnit gives the total quarters between 2 dates?components:NSQuarterCalendarUnit 给出两个日期之间的总季度数?
【发布时间】:2012-12-01 23:05:08
【问题描述】:
       NSDateComponents *result = [[NSCalendar currentCalendar] components:NSQuarterCalendarUnit fromDate:start toDate:end options:0];

      NSInteger numberOfQuaters = [result quarter];

为什么这段代码总是返回 0 ?

这不应该给我 NSDate start 和 NSDate end 之间的季度数吗?

例如,如果开始是 2012 年 1 月 1 日,结束是 2013 年 6 月 3 日,我应该有 numberOfQuarters = 6

【问题讨论】:

  • 这似乎是 Apple 的错误,请参阅 stackoverflow.com/questions/11618784/…openradar.appspot.com/9270112
  • 也受bug影响? NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSQuarterCalendarUnit;
  • 您是否还需要这方面的帮助,或者问题是否已经解决?
  • 虽然还有这个奇怪的错误,但我已经找到了我要发布的解决方案,在这里。

标签: objective-c nsdate nsdatecomponents


【解决方案1】:

我发现了这个解决方案,而奇怪的 Apple 错误仍然存​​在:

numberOfQuarters = (4 - startQuarter) + ((endYear -1 - startYear) * 4) + endQuarter;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 2019-02-11
    • 2018-07-01
    • 1970-01-01
    • 2022-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多