2012-03-28 51 views
0

我在的NSString格式以下格式的日期:字符串的NSDate然后回到串

2012-03-27 14:43:22 +0000 //this is a string 

我想要的就是以某种方式转变是这样说的:March 27

所以我想通要做到这一点的方式是这个字符串转换为一个NSDate,然后格式化新的NSDate我想要的格式,然后再返回到字符串,但我得到空输出:

NSString *date=[sectionInfo name]; 
NSLog(@"date:%@", date); 
NSDateFormatter *k= [[NSDateFormatter alloc] init]; 
[k setDateFormat:@"yyyy-mm-DD hh:mm:ss a"]; 
NSDate *d=[k dateFromString:date]; 
NSLog(@"%@", d); 

NSDateFormatter *df = [NSDateFormatter new]; 
[df setDateFormat:@"MMMM dd"]; 
NSString *dateString=[df stringFromDate:d]; 
NSLog(@"dateString:%@", dateString); 

输出:

date:2012-03-28 14:43:22 +0000 
(null) 
dateString:(null) 

我在做什么错?

回答

1

我猜你的格式字符串应该是"yyyy-MM-dd HH:mm:ss Z"

而且,尝试使用getObjectValue:forString:range:error:方法,而不是dateFromString:并看看错误返回。

+0

这工作,谢谢:) – Snowman 2012-03-28 15:20:43

1

你需要有资本HH在您的格式,也改变了A到Z,像这样:

[k setDateFormat:@"yyyy-mm-DD HH:mm:ss z"]; 
相关问题