Wie kann ich die Zeitzone im Joda-Time Zeitstempel erhalten?

8

Ich analysiere Zeitstempel. Sie werden in meine lokale Zeitzone (Europa / London) gezwungen, wenn ich sie einlese. Ich möchte stattdessen den ursprünglichen Zeitzonen-Offset beibehalten.

%Vor%

In diesem Beispiel wird ein Zeitstempel aus Amerika / New_York nach Europa / London gezwungen. Wenn ich DateTime zurück in einen String konvertiere, möchte ich die ursprüngliche Zeichenfolge, die ich eingegeben habe, zurückgeben.

Wenn ich außerdem den Zeitstempel nach dem Tag des Monats frage, von dem er kommt, möchte ich sagen, dass er vom 16. (weil das Datum an dem Ort war, an dem er erzeugt wurde) und nicht vom 17. (obwohl das das ist Das Datum war im selben Moment in meiner Zeitzone.

Wie mache ich das?

    
dave4420 09.05.2011, 21:27
quelle

1 Antwort

16

Versuchen Sie, ein DateTimeFormatter mit Offset-Analyse zu erstellen aktiviert. Dies sollte dazu führen, dass analysierte DateTime -Objekte den Offset von der ursprünglich analysierten Zeichenfolge beibehalten.

Wenn das nicht funktioniert, müssen Sie die Zeitzone möglicherweise separat speichern. Um ein Datum zu drucken, rufen Sie dann das Datum selbst, und die Zielzeitzone ab. Setzen Sie den Formatierer auf den gewünschten Wert Zeitzone, und verwenden Sie es, um das Datum zu formatieren.

    
erickson 09.05.2011, 21:34
quelle

Tags und Links