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
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.
Add [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]
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.
For exactly such cases NSDateFormatter
exist.
来源:https://stackoverflow.com/questions/12129958/converting-string-mm-dd-yyyy-to-nsdate