NSDate setHour给出错误的时间

时间:2016-10-29 03:02:13

标签: objective-c nsdate nsdatecomponents

我用它来设置uilocalnotifications的时间。我希望它们在某个时间触发用户所在的任何时区。

NSCalendar *calendar = [NSCalendar autoupdatingCurrentCalendar] ;
NSDateComponents *components = [calendar components: NSUIntegerMax fromDate: date];
[components setHour: 7];
[components setMinute: 59];
[components setSecond: 17];

NSDate *newDate = [calendar dateFromComponents: components];

分钟和秒数正确更新,但小时始终关闭。 date是传递的原始日期,起火日期是我尝试设置时间时得到的日期。分钟和秒都是正确的,但小时是关闭的。有线索吗?

date 2016-10-29 02:54:18 +0000
firedate 2016-10-28 14:59:17 +0000

0 个答案:

没有答案