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

时间:2012-12-28 08:42:28

标签: iphone objective-c ios xcode ipad

我想在iOS中将日期2012-12-26转换为december 26, 2012

我使用的是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格式。

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

4 个答案:

答案 0 :(得分:4)

您可以使用NSDateFormatter来执行此类操作。首先

  1. 使用dateFromString将日期字符串转换为日期对象: 方法
  2. 从日期转换为您想要的字符串使用stringFromDate:method
  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
    

答案 1 :(得分:2)

查看有关NSDateFormatter的官方Apple文档。您应该使用此类来执行此类格式化。

答案 2 :(得分: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];

答案 3 :(得分: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])