[Java 8] Funktion, die die UTC-Zeit als Datumstyp zurückgibt (berechnet mit OffsetZone)

Zur UTC-Zeit Selbst wenn ich ZonedDateTime auf UTC auf Date.from (***. ToInstant ()) gesetzt habe, wurde die Ortszeit nicht zurückgegeben Es ist eine Geschichte, die ich vermieden habe, indem ich OffsetZone von OffsetDateTime abgerufen und minusSeconds (Zeitverschiebung) ausgeführt habe, während ich scharf war.

Code in Frage

example.java


ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("UTC")); 
Instant instant = zonedDateTime.toInstant();
return Date.fron(Instant);
//"Asisa/Tokyo"Die Zeit kommt zurück

↑ (Ich weiß es nicht, aber es liegt an der Java-Umgebung ... ??)

Code aufgelöst

myexample.java



public static Date getUTCDate() {
    OffsetDateTime offsetDateTime = OffsetDateTime.now();
    //Hier ist Japan Zeit (+9:00)
    OffsetZone offsetZone = offsetDateTime.getOffset();
    //(+9:00)Erhalten
    OffsetDateTime UTCDateTime = offsetDateTime.minusSeconds(offsetZone.getTotalSeconds());
    //Dies ist die UTC-Zeit.

    //Instanziieren und mit Datumstyp Japan Zeit zurückgeben(Datumstyp)Ist zurück gekommen
    Instant instant = UTCDateTime.toInstant();
    return Date.from(instant);
}

Ich dachte, während ich nachforschte, aber es gibt einige Qiita-Artikel, die UTC-Zeit in Java ausgeben (ohne LocalDateTime, ZonedDateTime zu verwenden), aber die meisten von ihnen geben den Typ String zurück. ~~ Jeder mag keinen Datumstyp? ~~

Außerdem habe ich diesmal erneut erfahren, dass der Datumstyp nur die seit 1970/1/1 00:00:00 verstrichene Millisekunde enthält. Es gibt viel Tiefe um das Datum ...

Recommended Posts

[Java 8] Funktion, die die UTC-Zeit als Datumstyp zurückgibt (berechnet mit OffsetZone)
[Java] Datums- / Zeitoperationen
[Java] Konvertierung des Datumstyps