我正在尝试使用另一个格式相同的NSDateFormatter来解析由NSDateFormatter生成的字符串。
不是试图让前面的句子有意义,而是一些代码:
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, YYYY HH:mm"];
NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];
NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, YYYY HH:mm"];
NSDate *parsed = [inFormat dateFromString:dateString];
NSLog(@"\n"
"now: |%@| \n"
"dateString: |%@| \n"
"parsed: |%@|", now, dateString, parsed);
当我运行此代码时,我希望解析包含与现在相同的日期,但我得到以下输出:
now: |2009-05-04 18:23:35 -0400| dateString: |May 04, 2009 18:23| parsed: |2008-12-21 18:23:00 -0500|
有人知道为什么会这样吗?
答案 0 :(得分:9)
您的问题是“YYYY”不是有效的ICU日期格式选项。你想要“yyyy”。
资本'Y'仅在与“一年中的一周”选项一起使用时有效(即“'Y'周'w')。