Sicher konvertieren UTC-datetimes lokale Zeit (basierend auf TZ) für die Berechnungen?

Folgenden aus meiner Letzte Frage die @Jon Skeet gab mir viel Hilfe (danke nochmal!)

Ich bin jetzt Fragen, wie kann ich sicher arbeiten mit Datum/Zeiten als UTC gespeichert, wenn Sie konvertiert sind zurück zum Lokalen Datum/Zeit.

Als Jon angegeben, in meiner letzten Frage mit DateTimeOffset stellt eine sofortige in der Zeit und es gibt keine Möglichkeit, vorherzusagen, was die lokale Zeit würde sagen, eine minute später. Ich muss in der Lage sein zu tun Berechnungen auf der Grundlage dieser Datum/Zeit.

Also, wie kann ich gewährleisten, wenn ich ziehen Sie die Daten aus der Datenbank, konvertieren Sie lokale Datum/Zeit und bestimmte Berechnungen auf Ihnen, Sie gehen, um genau zu sein?

Szenario

Meiner Anwendung Datensätze gesendeten Informationen via E-Mail. Datum/Zeit der E-Mail empfangen wird aufgezeichnet, wie die Einreichung Zeit. E-Mails sind gezogen von exchange.

Was ich wissen muss ist:

1), Wenn diese E-Mails kommen aus verschiedenen Ländern, muss ich erst konvertieren, die Recieved Datum/Zeit der E-Mail an UTC-format und speichern? z.B. Email.Received.ToUniversalTime()

Kannst du nicht die Berechnungen durchzuführen, die auf die UTC-Datum/Uhrzeit stellen Sie vor der Konvertierung das Ergebnis der lokalen Zeit?
Spielt es eine Rolle, ob Sie lokale oder nicht? Wenn der DateTimeOffset-nur gibt mir einen Augenblick in der Zeit, sind die Berechnungen gehen korrekt?
Sie sind wirklich fehlt der Punkt UTC. Es ist das gleiche überall in der Welt. nicht konvertieren.
Mein Punkt ist - Sagen, ich habe ein Datum/Zeit in Großbritannien, das Datum/die Zeit ist nicht das gleiche in verschiedenen Zeitzonen. So sagen, es war für den Aussie, ich brauche, um zu konvertieren UTC-Zeit in lokale Zeit um das zu tun Berechnungen, die auf es (als Datum der 15/04/2010 18:00 im UK-Zeit, Ergebnisse in so etwas wie 16/04/2010 04:00 Aussie-Zeit)

InformationsquelleAutor James | 2010-04-15

Schreibe einen Kommentar