2012-12-28 128 views
2

我想在iOS中将日期2012-12-26转换为december 26, 2012如何在iOS中将日期“2012-12-26”转换为“2012年12月26日”?

我正在使用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。现在我想将日期更改为december 26, 2012格式。

来自专家的任何提示都会受到欢迎。

+2

使用'NSDateFormatter' –

+2

有相同的负载像周围的问题。在问你之前检查一下。 –

+0

-1,因为没有正确搜索并询问重复问题。请在提问前阅读[** FAQs **](http://stackoverflow.com/faq)。 –

回答

4

可以使用NSDateFormatter做这样的事情。第一个

  1. 将日期字符串转换为使用dateFromString的日期对象: 方法。
  2. 从日期转换为字符串你想使用stringFromDate:方法
  3. 不同的格式字符串可以发现here

    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 
    
+3

我想建议不要使用日期格式从日期创建字符串。因为许多不同的文化设置有不同的呈现日期的方式,你可能想要从日期或时间样式中使用'NSDateFormatterStyle',这将确保日期以正确的方式反映用户设置 – rckoenes

+0

你是从日期部分讲述字符串的权利吗?我知道你在说什么,但在问题OP特别要求MMMM dd,yyyy格式,所以在这种情况下,此代码无处不在。但你的建议是正确的 – Krishnabhadra

+0

这是为什么建议它。 – rckoenes

2

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

0

使用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]; 
0

尝试看看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]) 
相关问题