繁体   English   中英

在 Java 中获取 CET 冬季时间

[英]Get CET winter time in Java

我有以下代码可以在 ISO8601 中打印时间:

LocalDateTime now = LocalDateTime.now();
ZoneId zone = ZoneId.of("CET");
ZoneOffset zoneOffSet = zone.getRules().getOffset(now);

System.out.println(ZonedDateTime.now(zoneOffSet).format(DateTimeFormatter.ISO_INSTANT));

但是,当我们在冬天时,这总是打印夏令时 (UTC+1) 而不是 UTC+2。 我怎样才能改变它以根据季节打印时间?

我认为你错了?

CET  = Central European Time         = UTC + 1  = Winter time
CEST = Central European Summer Time  = UTC + 2  = Summer Time 

另外,从这个很好的答案: https : //stackoverflow.com/a/27618073/461499

这里的关键是要了解时区标识符和该标识符的“短名称是两个不同的元素 标识符始终固定为“CET”,但名称在“CET”和“CEST”之间变化。

CET标准时间为UTC+1

夏令时(夏季)是UTC+2

所以你得到UTC+1是正确的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM