我正在尝试创建一个时间设置为上午 12:00:01 的日期。秒和分钟正确设置为它们的值,但小时值总是变为我设置的值,+ 4。为什么是 4?这个值有什么特别之处?分钟和秒值设置为我想要的正确值,但似乎小时值只是添加而不是替换。
这是代码,
NSDate *now = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:now];
[components setHour:0];
[components setMinute:0];
[components setSecond:1];
NSDate *compareTime = [calendar dateFromComponents:components];
NSLog(@"compareTime: %@", compareTime);
NSLog(@"currentTime: %@", now);
输出是:
比较时间:2013-05-17 04:00:01 +0000
当前时间:2013-05-17 15:00:37 +0000