【发布时间】:2017-09-19 02:29:55
【问题描述】:
有没有一种简单的方法可以使用java.time 实现System.currentTimeMillis() 到2017-04-13T19:00:00+08:00?
到目前为止,我已经尝试了很多方法,但它要么给出了正确的区域,但使用了错误的语言,或者根本没有给出任何区域。
Instant shanghai= Instant.ofEpochMilli(System.currentTimeMillis());
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL)
.withZone(ZoneId.of("Asia/Shanghai"));
System.out.println(formatter.format(shanghai));
顺便说一句,可能是因为我使用 Java 8 time API 的次数不够多,没有看到它的美,但我确实觉得它是“用脚画蛇”。
例如,withZone 听起来像是在移动时间结果以适应区域。但它实际上也改变了语言,我认为应该只与Locale有关。
【问题讨论】:
标签: java-8 datetime-format java-time