2010-08-16 151 views
1

我从表示日期的文本中提取字符串。他们是这样的:NSDateFormatter解析日期不正确

Monday August 16, 2010 05:28 AM EST

我试图用一个NSDateFormatter来分析它们。我给自己定的格式:

[dateFormatter setDateFormat:@"EEEE MMMM d, YYYY h:mm a z"];

但是,这是行不通的。对于这个例子我上面给的,如果我的字符串的日期,然后在该日期转换为字符串,日期格式返回此:

Monday December 28, 2009 5:28 AM EST

我在做什么错?

编辑:它似乎工作时使用格式[dateFormatter setDateFormat:@"EEEE MMMM d, y h:mm a z"];。奇怪...

回答

2

Will,

NSDateFormatter使用Unicode标准格式化日期。正如你发现的那样,“y”起作用,但“YYYY”不起作用。如果你看到规范(在苹果文档中引用了几个层次,所以不容易找到),你会看到“Y”有这样的注释:“ISO年周中使用的年份日历可能与日历年不同。“

Here is the link to the specification.

我知道你已经自己修复它,但是这可能有助于解释为什么“Y”并没有为你工作。