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:
.)