Mysql
 sql >> Datenbank >  >> RDS >> Mysql

iOS - Korrekte Formatierung von Zeitstempeln zwischen mySQL (Apache) und iOS (NSDate)

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.

setzen

NSDate 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;
}