如何更改存储在字符串中的日期格式?目标c

时间:2011-09-19 05:30:44

标签: iphone datetime nsdateformatter

  

可能重复:
  how to convert datetime format in NSString?

我在json解析中将日期存储在字符串中。日期格式为2011-1-24。现在我想转换成MM-dd-YYYY格式。为此我使用此代码

NSString *stringDate =[NSString stringWithFormat:@"%@",[list_date objectAtIndex:indexPath.row]];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy"];
NSDate *date  = [dateFormatter dateFromString:stringDate];
NSString *newDate = [dateFormatter stringFromDate:date];

但它显示空值。这段代码有什么问题?

提前致谢...

2 个答案:

答案 0 :(得分:11)

它与@Mayur Joshi的答案不同,虽然它看起来是一样的。

这肯定对你有用。

 NSString *dateString = @"2011-09-19";
 NSDateFormatter *format = [[NSDateFormatter alloc] init];
 [format setDateFormat:@"yyyy-MM-dd"];
 NSDate *date = [format dateFromString:dateString];
 [format setDateFormat:@"MM-dd-yyyy"];
 NSString* finalDateString = [format stringFromDate:date];
 [format release];

我希望这会对你有所帮助。

如果您需要任何帮助,请在下面发表评论。

您也可以参考此链接获取更多帮助。此链接非常类似于您想要的,只有目标日期格式不同。

How to convert date string into format "17 Nov 2010"

答案 1 :(得分:0)

 NSString *dateStr = @"2011-1-24";

 //OR if you have date then declare dateStr like this, 
 NSString *dateStr = [NSString stringWithFormat:@"%@",yourDate];

 NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
 [dateFormat setDateFormat:@"YYYY-M-dd"];
 NSDate *date = [dateFormat dateFromString:dateStr];
 [dateFormat setDateFormat:@"MM-dd-YYYY"];
 NSString* temp = [dateFormat stringFromDate:date];
 [dateFormat release];

 NSLog(@"%@",temp);