Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Format a date from a string

I'm trying to format a date from a string into another format.

For example: 2012-05-29 23:55:52 into 29/05 *newline* 2010.

I just don't get the logics behind NSDate and NSDateFormatter, I think..

Any help will be appreciated. Thanks :)

like image 510
Emil Avatar asked Dec 29 '22 15:12

Emil


1 Answers

You will need to create an NSDateFormatter, and then set it's dateFormat to match the first date you have, eg:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

That will set your date formatter to recognise your date string. You can then obtain an NSDate object from this using

NSDate *myDate = [dateFormatter dateFromString:myDateString]; // myDateString is the 2012-05-29 23:55:52 string

This gives you a full NSDate object representing that date. Now you need to reformat the date and turn it back into a string, so set the dateFormat on your formatter to the new format, and get a new string representation of the returned date:

[dateFormatter setDateFormat:@"dd/MM\nyyyy"];
NSString *newlyFormattedDateString = [dateFormatter stringFromDate:myDate];
[dateFormatter release], dateFormatter = nil;

And voila! You have your new date :)

like image 186
Jasarien Avatar answered Jan 13 '23 11:01

Jasarien