2010-08-16 147 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」並沒有爲你工作。