2010-05-20 215 views
1

我有這樣的日期和時間格式:如何更改日期/時間格式?

2010-05-19 07:53:30 

,並想將其更改爲:

Wednesday @ 7:53PM 5/19/2010 

我這樣做,它可以獲取當前格式:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss"; 

但是當我改變格式時,我最終得到一個null。例如:

formatter.dateFormat = @"hh:mm tt MM-dd-yyyy"; 
date = [formatter stringFromDate:formattedDate]; 

日期將爲空。我想把最終結果放到NSString中。如果時間和日期可以作爲單獨的屬性出現,這將是很好的,所以我可以安排他們,但我喜歡。有關如何更改格式的任何想法?

回答

2

我認爲你的格式化字符串是問題。您只能使用您在UTS#35 Date Format Patterns表中找到的字符。我試過了你的代碼,當hh:mm顯示正確時,格式化在tt處停止 - 不在表格中!

如果您確實需要格式字符串中不在表格中的字符,您可以將它們轉義,如hh 'o''clock' a, zzzz - 生成「12點PM,太平洋夏令時」等格式。

0

如果時間和日期可以作爲單獨的屬性出現,那麼我可以安排它們,不過我喜歡它會很好。有關如何更改格式的任何想法?

你有事情倒退。如果這是要顯示給用戶的日期/時間,則需要向用戶展示用戶需要的方式,而不是您想要的方式。例如,美國以外的大多數人會被MM-dd-yyyy困惑,特別是如果日期少於13天。請考慮使用-setDateStyle:-setTimeStyle:。這樣,顯示字符串將按用戶期望顯示。