stringFromDate返回错误的一年

jan*_*o42 4 nsdate

#define stdDateFormat @"YYYYMMdd'T'hh:mm:ssZ"
NSDateFormatter *dateFormat = [[NSDateFormatter alloc]init];
[dateFormat setDateFormat:stdDateFormat];
NSString *TimeOfSync = [dateFormat stringFromDate:syncDate];
NSLog(@"date format: %@",stdDateFormat);
NSLog(@"syncDate: %@",syncDate);
NSLog(@"TimeOfSync: %@",TimeOfSync);
Run Code Online (Sandbox Code Playgroud)

记录输出:

date format: YYYYMMdd'T'hh:mm:ssZ
syncDate: 2009-01-03 19:00:00 +0000
TimeOfSync: 20080103T11:00:00-0800
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?我唯一能看到的是输入日期字符串中时区之前的额外空格.谢谢.

小智 27

使用小写yyyy而不是YYYY.

大写Y表示在开始的一年的日期是在(2009年1月3日是在2008年开始一个星期).

请参阅Unicode日期格式模式.