JodaTime: Konvertiere lokale in UTC-Mehrdeutigkeit

8

Ich versuche, das lokale Datum in UTC zu konvertieren, indem ich Joda Time verwende. Der Code, den ich verwendet habe, ist unten gezeigt und es funktioniert großartig.

%Vor%

Aber wenn ich UTC Date als Parameter an die DateTimeZone.convertLocalToUTC () Methode, es verringert auch die Stunde um 3. Da es sich jedoch um ein UTC-Datum handelt, erwarte ich, dass das Datum nicht erneut konvertiert wird. Ist das ein Fehler oder fehlt mir etwas?

%Vor%     
Parvin Gasimzade 29.05.2013, 09:08
quelle

2 Antworten

6

Gemäß Javadoc von convertLocalToUTC

  

Konvertiert ein lokales Instant in ein Standard-UTC-Instant mit demselben Local   Zeit. Diese Konvertierung wird verwendet, nachdem eine Berechnung durchgeführt wurde   Berechnung wurde mit einer einfachen lokalen Zone durchgeführt.

Methoden macht keine Annahme oder Validierung, dass das vergangene Datum in UTC ist oder nicht, es berücksichtigt immer das übergebene Datum als lokal und konvertiert zu UTC . Ihre Programmausgabe ist korrekt.

    
harsh 29.05.2013 09:20
quelle
2

Sehen Sie sich dies aus der Perspektive convertLocalToUTC() an. Es dauert nur ein long und ein boolean . Es hat keine Kenntnis, dass die Länge, die du es passierst, UTC ist oder nicht. Es wird davon ausgegangen, dass Sie eine long , dh die lokale Zeit, übergeben und entsprechend anpassen.

    
rgeorge 29.05.2013 09:16
quelle

Tags und Links