ZoneId and LocalDateTime

I am running this piece of code in Paris right now, where its 12:40, where ECT = ECT - Europe / Paris

LocalDateTime creationDateTime = LocalDateTime.now(Clock.systemUTC());      
ZoneId zone = ZoneId.of(ZoneId.SHORT_IDS.get("ECT"));


System.out.println ("creationDateTime --------------------------> " + creationDateTime);        
System.out.println ("creationDateTime.atZone(zone).getHour() ---> " + creationDateTime.atZone(zone).getHour());
System.out.println ("creationDateTime.atZone(zone).getMinute() -> " + creationDateTime.atZone(zone).getMinute());

But I get it on the console

creationDateTime --------------------------> 2017-05-16T10:40:07.882
creationDateTime.atZone(zone).getHour() ---> 10
creationDateTime.atZone(zone).getMinute() -> 40

Could I get 12:40 ???????

+4
source share
2 answers

No, not worth it. You requested ZonedDateTimewith the same LocalDateTimeone you started with, but are associated with a specific time zone.

From documents for LocalDateTime.atZone:

ZonedDateTime, - . - . , , , - , -.

, 2017-05-16T10: 40: 07.882.

, LocalDateTime . : ", UTC, , ".

- zone, LocalDateTime . :

ZonedDateTime zonedNow = ZonedDateTime.now(Clock.system(zone));

()

ZonedDateTime zonedNow = Clock.systemUTC().instant().atZone(zone);
+7

ZonedDateTime, LocalDateTime. , ZonedDateTime, 2017-05-16 10:40 ETC.

0

Source: https://habr.com/ru/post/1677245/


All Articles