Objective-Cstring(yyyy-mm-dd)到NSDate

我的应用程序是一个JSON代码,涉及stringtypes的date。 (如“2011-10-01”)。 我想知道如何将它转换成NSDate? 它需要以不同的时间格式显示,如“2011年10月1日”。

恩。 这段代码不起作用:

NSString *date1 = @"2010-11-12"; NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"yyyy-MMMM-dd"]; NSDate *date2 = [dateFormat dateFromString:date1]; NSString *strdate = [dateFormat stringFromDate:date2]; 

正如Tug在他的博客文章中写道:

Objective-C和iOS SDK提供了一个类来帮助格式化date(编组和解组),这个类是NSDateFormatter 。 毫不奇怪,NSDateFormatter使用Unicodedate格式模式。

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *date = [dateFormatter dateFromString:publicationDate ]; [dateFormatter release]; 

这里的publicationDate是一个NSString。

使用NSDateFormatter 。 适当的方法是dateFromString: 看看文档:)

你可以试试这个

 NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease]; [df setDateFormat:@"dd MM yyyy"]; NSString *TodayString = [df stringFromDate:[NSDate date]]; NSDate *SomeDate=[NSDate date]; NSString *TargetDateString = [df stringFromDate:SomeDate]; NSLog(@"date:%@",TargetDateString);