How to convert date string into format “17 Nov 2010”

流过昼夜 提交于 2020-01-02 23:02:39

问题


I have the date that is in format 2010-11-17.This is of the form NSString.

I want to convert this NSString date into format 17 Nov 2010 and display in a label

This date is just not the current date but may even be the older dates.

So I cant use the [NSDate date] instance to get the date.

I tried using NSDateFormatter with the method dateFromString.

But it gives me a null value.

Here is the code snippet

     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);

What should be done?

Please Help and suggest.

Thanks.


回答1:


Try this

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);

I got the result.Correct me if this approach is wrong.




回答2:


NSDateFormatter uses date format patterns from UNICODE.

So for your 17 Nov 2010 date you need something like this:

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

Where date variable contains the date you'd like to format.

UPDATE: Try changing your code to this:

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);


来源:https://stackoverflow.com/questions/4203627/how-to-convert-date-string-into-format-17-nov-2010

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!