Objective c 我怎样才能得到正确的日期?
我有一个字符串类型的时间。我不知道今天会怎样,但我发现了一些奇怪的事情Objective c 我怎样才能得到正确的日期?,objective-c,nsdate,Objective C,Nsdate,我有一个字符串类型的时间。我不知道今天会怎样,但我发现了一些奇怪的事情 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
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。我想知道原因吗?您在加利福尼亚(可能),日期对象是GMT。使用NSCalendar意味着日期将从您的区域设置转换为GMT