2013-03-06 76 views
-6

我不知道我缺乏的地方,但我不知道爲什麼我的NSDateformatter不工作。NSDateFormatter不工作

我的代碼如下:

NSDateFormatter *formatterObj = [[NSDateFormatter alloc]init]; 

[formatterObj setDateFormat:@"MMM dd, yyyy"]; 
NSDate *newDate = [formatterObj dateFromString:@"2013-03-04 19:12:55 +0000"]; 
NSString *stringDate = [formatterObj stringFromDate:newDate]; 

NSLog(@"%@",stringDate); 

要打印一個空的對象,但我不知道爲什麼。任何幫助將非常感激。

我期望的輸出格式爲 「2013年1月11日」

+0

您應該注意,您不僅僅使用格式化程序來格式化日期,而且還要解析輸入字符串。很可能,不僅'stringDate'是'nil'還有'newDate'。嘗試直接創建'NSDate'對象,而不是解析字符串。 – 2013-03-06 16:21:48

回答

1

你需要的格式。一個解析原始字符串。第二個產生所需的輸出。您正嘗試使用輸出格式解析字符串。這是行不通的。

NSDateFormatter *formatterObj = [[NSDateFormatter alloc]init]; 

[formatterObj setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZZ"]; 
NSDate *newDate = [formatterObj dateFromString:@"2013-03-04 19:12:55 +0000"]; 
[formatterObj setDateFormat:@"MMM dd, yyyy"]; 
NSString *stringDate = [formatterObj stringFromDate:newDate]; 

NSLog(@"%@",stringDate); 
+0

謝謝你節省了我的時間,並感謝您的幫助:) – 2013-03-06 17:17:56

1

格式化程序應該是:

[formatterObj setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"]; 
+0

,但我希望日期作爲「2013年1月11日」返回 – 2013-03-06 16:58:18