2010-11-17 111 views
1

我有格式的日期2010-11-17。这是表格NSString如何将日期字符串转换为格式“2010年11月17日”

我想这个的NSString日期转换成格式17 2010年11月并显示在标签

这个日期是不当前日期,但甚至可能是上了年纪的日期。

所以我不能使用[NSDate日期]实例来获取日期。

我试过使用NSDateFormatter与方法dateFromString

但它给了我一个null值。

这里是代码片段

 NSString *dates = @”2010-11-16”; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 

[dateFormatter setDateFormat:@"dd MMM yyyy"]; 

NSDate *dates1 = [dateFormatter dateFromString:dates]; 

NSString *dates2 = [dateFormatter stringForObjectValue:dates1]; 

NSLog(@"dates : %@",dates); 

NSLog(@"Dates 2 : %@",dates2); 

[dateLabel setText:dates2]; 

NSLog(@"Formatted Date is : %@",dateLabel.text); 

应该怎样做?

请帮助和建议。

谢谢。

回答

3

试试这个

NSDateFormatter *formater = [[NSDateFormatter alloc] init]; 
[formater setDateFormat:@"yyyy-MM-dd"]; 
NSDate *date2 = [formater dateFromString:@"2010-11-17"]; 
[formater setDateFormat:@"d MMM yyyy"]; 
NSString *result = [formater stringFromDate:date2]; 
NSLog(@"RESULT %@",result); 

我得到了result.Correct我,如果这种做法是错误的。

0

NSDateFormatter使用date format patterns from UNICODE

因此,对于你2010年11月17日日期你需要的东西是这样的:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateFormat:@"d MMM yyyy"]; 
NSString *result = [formatter stringForObjectValue:date]; 

date变量包含要格式化的日期。

UPDATE:试着改变你的代码如下:

NSString *dates = @”2010-11-16”; 
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"yyyy-MM-dd"]; 
NSDate *dates1 = [dateFormatter dateFromString:dates]; 
[dateFormatter setDateFormat:@"dd MMM yyyy"]; 
NSString *dates2 = [dateFormatter stringForObjectValue:dates1]; 
NSLog(@"dates : %@",dates); 
NSLog(@"Dates 2 : %@",dates2); 
[dateLabel setText:dates2]; 
NSLog(@"Formatted Date is : %@",dateLabel.text); 
+0

好的,我会试试看。 – 2010-11-17 11:07:05

+0

我试过了你给的代码,但它仍然返回空值。 – 2010-11-17 11:11:59

+0

@PARTH什么给你一个空值? – 2010-11-17 11:15:45

相关问题