2012-10-28 52 views
0

我幾乎得到了這個工作,很明顯我已經得到工作,因爲時間幾乎是正確的某些部分(這是它應該是什麼一個小時空頭)我如何構建這個日期格式是錯誤的?

InputDate: Sat Oct 27 22:08:36 PDT 2012 
Resulting Date: 2012-01-01 05:08:36 +0000 
(Or: Saturday, December 31, 2011 9:21 PM) 

這裏是我的代碼

NSDateFormatter *dateFormatter=[[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss zzz YYYY"]; 
NSDate *buildDate = [dateFormatter dateFromString:buildDateString]; 

要重新整理了一下:使用字符串數據封裝成一個NSDate米輸入日期是是越來越投入的日期格式的日期。結果日期只是由日期格式化程序生成的NSDate的NSLog。

我試圖採取一個外部生成的日期(由生成階段生成,因爲我希望生成時間戳可在應用程序中使用)並將該字符串轉換爲NSDate,然後我可以使用現有的iOS控件。

+2

這有點令人困惑。樣本日期是2012年10月27日,導致dat是1/1/2012,然後是12/31?示例日期是10:08,結果日期是5:08(你說這是一個小時?)另外,你的buildDateString是什麼樣的? – yeesterbunny

+1

你最有可能想要一年的YYYY,而不是YYYY。是的,向我們展示buildDateString。 – rmaddy

+0

我已經澄清了我的帖子 - buildDateString是我給出的實際日期,relabled inputdate。由此產生的日期是我的NSLog輸出的結果,並且我包含了稍後清理的版本,我將在此過程結束時輸出。 – RonLugge

回答

0

rmaddy作爲評論添加了正確的答案,但從未將其作爲實際答案,以便我可以接受它。關鍵是使用「YYYY」而不是「YYYY」

1

嘗試設置+0000zzz

z~zzz: (Specific GMT Timezone Abbreviation) 
zzzz: (Specific GMT Timezone Name) 
Z: +0000 (RFC 822 Timezone) 

請參考this link瞭解dateformatter中字符串的詳細格式。希望這可以幫助你。

+0

人......我想你誤解了我的(也許不是很清楚,應該是這樣)問題;我的問題是使用dateformatter獲取日期,而不是輸出它。 – RonLugge