Domanda

Continuo a date e orari nel mio negozio CoreData e necessità di precisione presenti per gli utenti il ??tempo come originariamente immesso. Il problema è che se sono entrati 04:00 sulla costa orientale, poi guarda il tempo registrato sulla costa occidentale, essa appare come 01:00, dal momento che l'iPhone si traduce volte universali a volte locali. Ho bisogno di mostrare 04:00 -. Probabilmente 4:00 (+ 3h00)

Prima di andare e ristrutturare il mio modello Core Data, voglio essere sicuro che non c'è modo di ricavare il NSTimeZone che era attiva al momento della creazione in tempo da un oggetto NSDate memorizzato. È lì? In caso contrario, alcuna raccomandazione modo migliore per catturare NSTimeZone al momento della creazione me stesso? Un NSNumber che rappresenta la creazione in tempo NSTimeZone differenza dall'ora di Greenwich?

Grazie.

È stato utile?

Soluzione

Come hai scoperto, NSDate rappresenta un punto universale nel tempo e non include informazioni specifiche fuso orario.

suggerirei invece di memorizzare l'offset, archivio di proprietà name del NSTimeZone. Quindi è possibile utilizzare +[NSTimeZone timeZoneWithName:] per ottenere il fuso orario e quindi convertirlo in ora locale. Questo ti dà la massima flessibilità nel modo in cui si visualizzano le informazioni per l'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top