I have a method,
+ (NSDate *) convertToDateFrom:(NSString *) dateString
{
if (dateString == nil || [dateString isEqual:@\"\"]) return nil; //return nil i
Try setting the time zone and locale.
[df setLocale:[NSLocale currentLocale]];
[df setTimeZone:[NSTimeZone systemTimeZone]];
The +0000
at the end of the date indicates GMT. All dates are stored relative to GMT; when you convert a date to a string or vice versa using a date formatter, the offset to your time zone is included. You can use NSDateFormatter's -setTimeZone:
method to set the time zone used.
In short, you're not doing anything wrong in your code. Use [df stringFromDate:date];
to see that the date is correct. (You can also use NSDate's -descriptionWithCalendarFormat:timeZone:locale:
.)
try using
df stringFromDate:date
Following worked on mine,
NSLog(@"Date for locale %@: %@",
[[dateFormatter locale] localeIdentifier], [df stringFromDate:date]);
gave me output as :
Date for locale en_US: Wednesday, 26 June 2013 15:50