Standardmäßig ist NSDateFormatter auf localTimeZone eingestellt. Da Ihr dateString keine Zeitzoneninformationen hatte, wurde die Zeit bzgl. localTimeZone berechnet. Wenn Sie wissen, dass die Zeitzone Ihres dateString UTC ist, müssen Sie dies auf dateFormatter.
setzenNSDate stellt die absolute Zeit dar, die Darstellung kann je nach Zeitzone variieren, aber es ist ein eindeutiger Wert und wird nicht von der Sommerzeit beeinflusst.
-(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;
}