Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting a date format in objective C

How can i convert the following date "Sun Jul 17 07:48:34 +0000 2011" to the following format "2011-07-17 07:48:34"?

I used NSDateFormatter as shown below but it didnt work. It gives null as a result.

NSDateFormatter *objDateFormatter = [[NSDateFormatter alloc] init]; [objDateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; [objDateFormatter dateFromString:sDate]; 
like image 482
farajnew Avatar asked Jul 17 '11 13:07

farajnew


1 Answers

You've got your Date Format wrong for the style of Date you are passing in. Here is a document explaining the different modifiers: Date Format Patterns

To parse the Date "Sun Jul 17 07:48:34 +0000 2011", you'd need a Format like so:

[dateFormat setDateFormat:@"EEE MMM dd HH:mm:ss ZZZ yyyy"]; 

To get it into the following format: "2011-07-17 07:48:34", here is the full code:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss ZZZ yyyy"]; NSDate *date  = [dateFormatter dateFromString:sDate];  // Convert to new Date Format [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString *newDate = [dateFormatter stringFromDate:date];  
like image 89
Suhail Patel Avatar answered Sep 20 '22 11:09

Suhail Patel