为什么这个日期没有正确处理?

时间:2011-02-01 14:19:18

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

我有这段代码:

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

应该输出'15',而是输出'-2147483587'。我知道这个奇怪的数字有时与日期有关,但我无法弄清楚为什么会发生这种情况。

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

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

这是正常的。 tuesdayAlarmTime是一个完整的日期,它的分钟部分是'15'。

2 个答案:

答案 0 :(得分:2)

不应该是

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

答案 1 :(得分:1)

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

[cal components:NSHourCalendarUnit | NSMinuteCalendarUnit fromDate:tuesdayAlarmTime]