2012-03-01 59 views
2

下面是我設置它:NSDateFormatter stringFromDate返回空字符串

self.df = [[NSDateFormatter alloc] init]; 
[self.df setFormatterBehavior:NSDateFormatterBehavior10_4]; 
[self.df setDateFormat:@"posted: MM-dd-YYYY"]; 

這裏是我如何在我的跟蹤調用它:

NSLog(@"%@, %@, %@, %@", df, post.date, [post.date class], [df stringFromDate:post.date]); 

這裏的輸出:

<NSDateFormatter: 0x8440d60>, 2012-02-09 12:40:38 +0000, __NSDate, 

它不爲空,它是「」。

帶有date屬性的post類是由核心數據自動生成的。我看不出有什麼不同,但它是唯一看起來有點不同尋常的東西。

+0

把打印輸出的post.date了。 – Alexander 2012-03-01 15:27:52

回答

4

你不能像這樣使用setDateFormat。

我想這個代碼和它的工作:

[self.df setDateFormat:@"MM-dd-YYYY"]; 

現在,你可以這樣做:

NSString *myString = [NSString stringWithFormat:@"posted:%@", [df stringFromDate:post.date]]; 
+1

謝謝,@ tonio.mg,它確實是格式字符串中的流浪「posted:」。 原來你可以用格式字符串中的單引號轉義文本,所以這也可以: [self.df setDateFormat:@「'posted:'MM-dd-YYYY」]; – hymenopterans 2012-03-01 15:48:08

+0

酷!你能將它標記爲已解決嗎? – 2012-03-01 15:48:48