【问题标题】:Why is this date not processing correctly?为什么这个日期没有正确处理?
【发布时间】:2011-06-19 07:35:57
【问题描述】:

我有这个代码:

currentMinuteInt = [[cal components:NSHourCalendarUnit 
                           fromDate:tuesdayAlarmTime] minute];

应该输出“15”,但输出的是“-2147483587”。我认识到有时会显示与日期相关的这种奇怪的数字,但我无法弄清楚为什么会在这里发生。

我用来计算时间的代码是:

hours = [[cal components:NSHourCalendarUnit fromDate:now] hour]; 

并且可以正常工作。 tuesdayAlarmTime 是一个完整的日期,它的分钟部分是 '15'。

【问题讨论】:

    标签: iphone objective-c cocoa-touch nsdate int


    【解决方案1】:

    不应该

    currentMinuteInt = [[cal components:NSMinuteCalendarUnit fromDate:tuesdayAlarmTime] minute];
    

    【讨论】:

    • 是的,就是这样。不敢相信我错过了。
    【解决方案2】:

    使用[cal components:NSHourCalendarUnit fromDate:tuesdayAlarmTime],您的NSDateComponents 对象只包含一个小时值,没有别的。相反,您必须使用:

    [cal components:NSHourCalendarUnit | NSMinuteCalendarUnit fromDate:tuesdayAlarmTime] 
    

    【讨论】:

      猜你喜欢
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 2012-10-24
      • 2012-01-29
      • 1970-01-01
      • 2010-10-22
      相关资源
      最近更新 更多