[Java 8] Fonction qui renvoie l'heure UTC sous forme de type Date (calculée à l'aide de OffsetZone)

À l'heure UTC Même si j'ai réglé ZonedDateTime sur UTC sur Date.from (***. ToInstant ()), il n'a pas renvoyé l'heure locale, donc C'est une histoire que j'ai évitée en obtenant Offset Zone à partir de Offset Date Time et en faisant moins Seconds (en décalant l'heure) tout en étant précis.

Code en question

example.java


ZonedDateTime zonedDateTime = ZonedDateTime.now(ZoneId.of("UTC")); 
Instant instant = zonedDateTime.toInstant();
return Date.fron(Instant);
//"Asisa/Tokyo"Le temps revient

↑ (je ne sais pas, mais c'est à cause de l'environnement Java ... ??)

Code résolu

myexample.java



public static Date getUTCDate() {
    OffsetDateTime offsetDateTime = OffsetDateTime.now();
    //Voici l'heure du Japon (+9:00)
    OffsetZone offsetZone = offsetDateTime.getOffset();
    //(+9:00)Avoir
    OffsetDateTime UTCDateTime = offsetDateTime.minusSeconds(offsetZone.getTotalSeconds());
    //Il s'agit de l'heure UTC.

    //Instantané et retour avec le type de date Heure du Japon(Type de date)Est retourné
    Instant instant = UTCDateTime.toInstant();
    return Date.from(instant);
}

J'ai pensé pendant que j'enquêtais, mais il y a quelques articles Qiita qui affichent l'heure UTC en Java (sans utiliser LocalDateTime, ZonedDateTime), mais la plupart d'entre eux reviennent en type String. ~~ Tout le monde n'aime pas le type de date? ~~

De plus, j'ai appris à nouveau cette fois que le type Date ne contient que la milliseconde écoulée depuis 1970/1/1 00:00:00. Il y a beaucoup de profondeur autour de la date ...

Recommended Posts

[Java 8] Fonction qui renvoie l'heure UTC sous forme de type Date (calculée à l'aide de OffsetZone)
[Java] Opérations de date / heure
[Java] Conversion de type de date