Frage

Ich halte Daten und Zeiten in meinem Coredata Speicher und Notwendigkeit, genau anwesend Benutzer die Zeit als ursprünglich eingegeben. Das Problem ist, dass, wenn sie 04.00 an der Ostküste eingegeben, dann suchen Sie später an der Aufnahmezeit an der Westküste, als 01.00 Uhr erscheint, da die iPhone Universal-Zeiten Ortszeit übersetzt. Ich brauche es 04.00 Uhr zeigen -. Vermutlich 04.00 (+ 3H00)

Bevor ich mein Core Data-Modell gehen und neu zu strukturieren, ich will sicher sein, es gibt keinen Weg, um die NSTimeZone abzuleiten, die bei der Erstellung Zeit von einem gespeicherten NSDate Objekt aktiv war. Gibt es? Wenn nicht, am besten eine Empfehlung, wie NSTimeZone zum Zeitpunkt der Erstellung selbst zu erfassen? Ein NSNumber, die die Schaffung Zeit NSTimeZone Zeitdifferenz von GMT?

Danke.

War es hilfreich?

Lösung

Wie Sie entdeckt haben, NSDate stellt einen universellen Zeitpunkt und enthält keine spezifischen Zeitzoneninformationen.

würde ich vorschlagen, anstelle der Versatz des Speicherns, speichern Sie die name Unterkunft NSTimeZone. Dann können Sie +[NSTimeZone timeZoneWithName:] verwenden, um die Zeitzone zu gelangen und von dort wandeln sie in Ortszeit. Dies gibt Ihnen ein Maximum an Flexibilität, wie Sie die Informationen für den Benutzer angezeigt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top