nscalendar和nsdate无关
-
26-10-2019 - |
题
我正在尝试从NSDATE访问小时和分钟的信息。
因此,我使用Nscalendar来做到这一点。以下是我的代码:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm"];
NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(kCFCalendarUnitHour | kCFCalendarUnitMinute) fromDate:date];
NSInteger hour = [components hour];
NSInteger minute = [components minute];
NSLog(@"%@",date description);
NSLog(@"Hour : %d MInutes: %d",hour,minute);
它没有给我正确的信息。以下是日志:
2011-10-18 18:46:12.194 DateTest [1182:707] 2011-10-18 13:16:12 +0000 2011-10-18 18:46:12.198 DateTest [1182:707]小时:18分钟:18分钟:46:46
另一个疑问是时间是18:46:12.194,它被记录为13:16:12。为什么有差异?
解决方案
因为您生活在GMT提前5.5小时的时区,并且 NSDate
' -description
方法始终返回在GM时区格式化的字符串。
不隶属于 StackOverflow