I in my project I am getting a string I am passing the string to the dateFormatter but I am getting nil, in the string instead of IST I may get PDT I may get any other formats,
NSString* currentDateString = @"2012-11-09 12:31:53.0 **IST**";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.S z"];
NSDate *dateFromString = [dateFormatter dateFromString:currentDateString];
If you are testing on iOS 6.0+ device/simulator only, test it on below iOS 6.0 device. I think in Ios 6.0+ something is changed related to abbreviations. Abbreviations dictionary in iOS 6.0+ contains different values than in iOS below 6.0.