2013-11-20 91 views
4

我在iOS 6的NSDate對象(在iOS 7中工作正常)中獲取完整名稱的問題。 我已經搜索了類似的問題stackoverflow,但我沒有找到我在找什麼。iOS 6 NSDateFormatter stringFromDate:空的星期幾

我的測試情況是:

formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"EEEE"]; 
[formatter setDoesRelativeDateFormatting:NO]; 

NSDate *testDate = [NSDate dateWithTimeIntervalSince1970:1384551041.389218]; 
NSLog(@"%@",[formatter stringFromDate:testDate]); 

預期輸出Friday(局部到您的設備區域的格式和公曆),它適用於iOS 7,但在iOS 6中,它返回一個空的描述。我已經在實際設備中測試了相同的區域格式集。

據我所知,iOS 6使用tr35-25根據this documentation格式化,並且EEEE以該格式指定全天的星期幾。

我錯過了什麼嗎?

回答

5

這實際上看起來像一個錯誤在NSDateFormatter在iOS 6。然而,似乎只有 如果明確設置

[formatter setDoesRelativeDateFormatting:NO]; 

如果忽略該行發生錯誤(和NO是默認反正)那麼結果是OK(至少當我測試它時)。

注:我認爲setDoesRelativeDateFormatting只是意味着與setDateStyle:連接 使用,但是這是純粹的猜測。

+0

什麼將是替代呢? –

+0

@hussainShabbir:正如我所說的,只是省略'setDoesRelativeDateFormatting'調用。 –

+0

謝謝馬丁:) –

2

如果刪除[formatter setDoesRelativeDateFormatting:NO];從你的代碼,那麼你會得到在iOS 6.0和iOS 7.0的結果