当前位置:  开发笔记 > IOS > 正文

为什么我无法使用NSDateFormatter正确解析此日期字符串?

如何解决《为什么我无法使用NSDateFormatter正确解析此日期字符串?》经验,为你挑选了1个好方法。

我正在尝试使用具有相同格式的另一个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|

任何人都有任何想法为什么会这样?



1> Matt Gallagh..:

您的问题是"YYYY"不是有效的ICU日期格式选项.你想要"yyyy".

资本'Y'仅在与"一年中的一周"选项一起使用时有效(即"'Y'周'w').

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有