Mysql
 sql >> Database >  >> RDS >> Mysql

iOS - Formattazione corretta dei timestamp tra mySQL (apache) e iOS (NSDate)

Per impostazione predefinita, NSDateFormatter è impostato su localTimeZone. Poiché il tuo dateString non aveva informazioni sul fuso orario, ha calcolato l'ora rispetto a localTimeZone. Se sai che il fuso orario di dateString è UTC, devi impostarlo su dateFormatter.

NSDate rappresenta il tempo assoluto, la rappresentazione può variare rispetto ai fusi orari ma è un valore unico e non sarà influenzato dall'ora legale.

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