Ho un'app che mostra un orario di alcuni viaggi in traghetto.NSDate indipendente dal fuso orario?
Se viaggio in un altro fuso orario - diciamo 4 ore indietro, un viaggio in traghetto delle 10:00 ora si presenta alle 6:00?
So che questo ha a che fare con il modo in cui le date vengono gestite in base al loro fuso orario, ma non riesco a capire come modificare tale comportamento.
Al momento ecco come io sono sempre la data e la visualizzazione su un UILabel:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH:mm"];
[self.departureTime setText:[dateFormatter stringFromDate:[self.route objectForKey:@"departureTime"]]];
[self.arrivalTime setText:[dateFormatter stringFromDate:[self.route objectForKey:@"arrivalTime"]]];
[dateFormatter release];
Grazie in anticipo per il vostro aiuto.
Capire che NSDate stessa è indipendente da fuso orario - rappresenta UTC (Greenwich) tempo. È necessario impostare il fuso orario di NSDateFormatter per produrre risultati per il fuso orario desiderato. –
@DanielRHicks Una data ha * no * fuso orario.Non * rappresenta * UTC, perché UTC è un fuso orario e una data non ha un fuso orario. –
L'offset di tempo in un NSDate è, per convenzione, lo scostamento temporale rispetto a UTC. E l'impostazione del fuso orario di NSDateFormatter sarà inutile se l'oggetto NSDate non è impostato rispetto a UTC. –