如何在iOS中将“2012-12-26”这样的date转换为“2012年12月26日”?

我想在december 26, 2012december 26, 2012december 26, 2012december 26, 2012在iOS?

我正在使用websrvice,数据以这种格式1990-12-26

我想把这个改成december 26, 2012格式。

这就是我所做的:

 lbl_Rightside.text = [rootElement stringValueForNode:@"date"]; NSLog(@"lbl_Rightside is %@",lbl_Rightside.text); [lbl_Rightside release]; 

1990-12-26获取这个标签的date。 现在我想把date改成december 26, 2012格式。

任何来自专家的提示都将非常受欢迎。

你可以使用NSDateFormatter来做这种事情。 第一

  1. 使用dateFromString:方法将datestring转换为date对象。
  2. 从date转换为你想要使用stringFromDate:方法的string
  3. 不同的格式string可以在这里find。

     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *orignalDate = [dateFormatter dateFromString:YOUR_ORIGINAL_STRING]; [dateFormatter setDateFormat:@"MMMM dd, yyyy"]; NSString *finalString = [dateFormatter stringFromDate:orignalDate]; [dateFormatter release]; //if not using ARC 

检查有关NSDateFormatter的官方Apple文档。 你应该使用这个类来做这种格式。

通过使用NSDateFormatter

NSString到NSDate

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; // this is imporant - we set our input date format to match our input string // if format doesn't match you'll get nil from your string, so be careful [dateFormatter setDateFormat:@"yyyy-MM-dd"]; NSDate *dateFromString = [[NSDate alloc] init]; dateFromString = [dateFormatter dateFromString:dateString]; [dateFormatter release]; 

NSDate转换为NSString:

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MMMM dd, yyyy"]; NSString *strDate = [dateFormatter stringFromDate:[NSDate date]]; NSLog(@"%@", strDate); [dateFormatter release]; 

试着看看NSDateFormatter类,

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; // this is your input date format NSDate *newDate = [dateFormatter dateFromString:dateString];//converting string to date object 

你正在寻找的格式是这样的:

 [dateFormatter setDateFormat:@"MMM dd,yyy"]; // setting new format NSLog(@"The date is = %@",[dateFormatter stringFromDate:newDate])