3

我正在尝试在 NSDateComponents 中设置小时,我编写了以下代码

NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComps = [[NSDateComponents alloc] init];

[dateComps setDay:intDay];
[dateComps setMonth:intMonth];
[dateComps setYear:intYear];
[dateComps setHour:intHoures];
[dateComps setMinute:intMinutes];

NSDate *itemDate;
itemDate = [calendar dateFromComponents:dateComps];

NSLog(@"reminder date: %@", itemDate);

但是当我将小时数设置为 13 时,它设置为 11。我想要 24 小时的风格。任何人都可以在这个问题上帮助我吗?

提前致谢。

4

1 回答 1

4

小时的时差表明您可能对时区有问题,您可以尝试设置日期的时区,我知道NSDateFormattertimeZone属性,我怀疑是否NSDateComponents有 timeZone 属性。但是,您可以为日历设置时区

[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"GMT"]];
于 2013-03-12T20:43:05.227 回答