NSDate does not care about time zones. It just records a moment in time.
You must set the local time zone when using NSDateFormatter to get a string representation of the date:
NSDate *date = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setTimeStyle:NSDateFormatterMediumStyle]; [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
source share