2012-08-17 84 views
1

我有需要被轉換成NSDate的日期字符串,這裏是字符串「週五8月17日12時23分四十零秒+0800 2012」,NSDateFormatter和NSDate的問題

這裏是我的祕密代碼,

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
//formatter.timeZone = [NSTimeZone localTimeZone]; 
formatter.dateFormat = @"EEE MMM dd H:mm:ss ZZZ yyyy"; 

NSDate *date = [formatter dateFromString:dateStr]; 
NSLog(@"%@", date); 

我認爲我的代碼很好,但日期爲空。我不知道爲什麼,有人可以幫忙嗎?

+0

你的代碼很好,我在我的系統上試過了,它產生了'2012-08-17 04:23:40 + 0000' NSLog輸出。也許它與你的本地設置有關('Fri'和'Aug'不是太國際友好的字符串)。 – dasblinkenlight 2012-08-17 04:58:47

+0

是的,這段代碼適用於我自己的MBB,但今天,它不在我的公司MBP上運行。兩個MBP現在都在運行山獅。不知道爲什麼。 – fengd 2012-08-17 05:01:46

+1

他們的系統可能被設置爲非英文語言環境。 – dasblinkenlight 2012-08-17 05:03:33

回答

0

您的代碼在我的系統上生成2012-08-17 04:23:40 +0000輸出,因此問題可能與您的區域設置有關。 This answer提供有關如何製作獨立於系統本地區域設置的日期格式化程序的信息。