dateformatter 在转换 datefromstring 时产生错误的结果

dateformatter producing wrong result on converting datefromstring

我的字符串是 strDate:04/12/2016,将其转换为 dd/MM/yyyy 格式的日期。它正在产生另一个 format.it 正在产生结果 weekEndDate:2016-12-04 00:00:00 +0000。我的代码是

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
weekEndDate=[formatter dateFromString:strDate];

2016-12-04 00:00:00 +0000

这不是错误的格式,每当您在调试器中打印 NSDate 的对象时,该对象将像上面的字符串一样打印,即在 UTC 时区中,如果您想检查正确的格式然后转换字符串中的此日期对象并打印该字符串,您将获得正确的格式。

获得该格式是正常的,如果您想使用该格式化程序获取周末约会,请按以下步骤操作:

NSString *strDate = @"04/12/2016";

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy"];
NSDate *weekEndDate = [formatter dateFromString:strDate];

NSLog(@"%@", [formatter stringFromDate:weekEndDate]); // 04/12/2016
NSLog(@"%@", weekEndDate); // 2016-12-04 00:00:00 +0000