我有NSString类型的时间。我想知道这一天,但我觉得很奇怪。
NSString *strTime = @"2010-05-14 16:00:01";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *oldDate = [formatter dateFromString:strTime];
unsigned int flags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar* calendar = [NSCalendar currentCalendar];
NSDateComponents* components = [calendar components:flags fromDate:oldDate];
int day = [components day];
当NSString * strTime = @“2010-05-14 16:00:01”时,那天是15,当NSString * strTime = @“2010-05-14 16:00:00”时,那天是14。我想知道为什么?
答案 0 :(得分:2)
您在加利福尼亚州(可能),日期对象是GMT。使用NSCalendar意味着日期将从您的语言环境转换为GMT。