user1590031
user1590031

Reputation: 308

Converting string MM/DD/YYYY to NSDate

In my app i'm using Facebook Graph API and when I'm fetching user details i get the user's birthday as a string with format MM/DD/YYYY.

My question is, how can I convert string "MM/DD/YYYY" to NSDate?

I try doing

 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 [dateFormatter setDateFormat:@"MM/DD/YYYY"];
 NSDate *date = [dateFormatter dateFromString:@"08/08/2012"];
 [dateFormatter release];  

But I got the wrong date

Upvotes: 9

Views: 5917

Answers (4)

pronvit
pronvit

Reputation: 4299

Add [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]

Upvotes: 5

Mundi
Mundi

Reputation: 80271

You are doing everything fine. Your problem is only the format string.

  • Capital M is month.
  • Small d is day.
  • Small y is year.

Just use these symbols consistently and you should be fine.

Upvotes: 3

Mick MacCallum
Mick MacCallum

Reputation: 130222

Using NSDateFormatter you can convert directly from a NSString to a NSDate. Here's an example:

NSDateFormatter* myFormatter = [[NSDateFormatter alloc] init];
[myFormatter setDateFormat:@"MM/dd/yyyy"];
NSDate* myDate = [myFormatter dateFromString:@"8/26/2012"];
NSLog(@"%@", myDate);

See Unicode.org for details on date formatting patterns.

Upvotes: 14

Matthias
Matthias

Reputation: 8180

For exactly such cases NSDateFormatter exist.

Upvotes: 1

Related Questions