Search code examples
objective-ciphonensdatensdateformatter

NSDate from NSString


I've read the DateFormatting guide and I'm still not able to get a working formatter.

NSString *string = @"0901Z 12/17/09";   
//This is a sample date. The Z stands for GMT timezone
//The 0901 is 09h 01m on a 24 hour clock not 12.
//As long as I can get the hours/min & date from the string I can deal with the time zone later
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; 
[dateFormat setDateFormat:@"hhmm'Z' MM/dd/yy"];
NSDate *date = [dateFormat dateFromString:string];

Solution

  • That works for me when I try it. Adding NSLog(@"%@", date) to the end of your code gives me this output:

    2010-02-28 12:17:22.921 app[9204:a0f] 2009-12-17 09:01:00 -0800
    

    What is the problem you're seeing?

    Edit: I figured it out, you're not having a problem with 09:01, but with other 24-hour times, like 14:25, right? Change your formatter to:

    @"HHmm'Z' MM/dd/yy"