以欧洲芬兰赫尔辛基为例,夏令时结束时间为Sunday, 2017 October 29, 4:00 am
。
我正在寻找一种方法来创建具有正确 DST 设置ZonedDateTime
的实例(见下文),希望通过现有的工厂静态方法。
ZonedDateTime beforeDst = ZonedDateTime.of(2017, 10, 29, 3, 59, 0, 0, ZoneId.of("Europe/Helsinki"));
// this will print: 2017-10-29T03:59+03:00[Europe/Helsinki]
beforeDst.plusMinutes(1);
// this will print: 2017-10-29T03:00+02:00[Europe/Helsinki]
// note the +3 become +2, and 3:59 become 3:00
问题:我们如何创建ZonedDateTime
将打印的内容2017-10-29T03:00+02:00
?
- 希望通过将 LocalDateTime 作为参数或上面示例的参数传递,
- 没有加/删除日期操作,和
- 字符串解析不是一个选项(否
java.time.format.DateTimeFormatter
)。