Theo mặc định, NSDateFormatter được đặt thành localTimeZone. Vì dateString của bạn không có thông tin múi giờ nên nó đã tính thời gian wrt cho localTimeZone. Nếu bạn biết rằng múi giờ của dateString là UTC thì bạn cần đặt múi giờ đó thành dateFormatter.
NSDate biểu thị thời gian tuyệt đối, biểu diễn có thể thay đổi các múi giờ wrt nhưng nó là một giá trị duy nhất và nó sẽ không bị ảnh hưởng bởi tiết kiệm ánh sáng ban ngày.
-(NSDate *)formatDateWithString:(NSString *)dateString{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
NSDate* date = [dateFormatter dateFromString:dateString];
NSLog(@"Formatted Timestamp: %@ - Original Timestamp: %@", date,dateString);
return date;
}