Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 我怎样才能得到正确的日期?_Objective C_Nsdate - Fatal编程技术网

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