首页 > 解决方案 > 如何在 Java 中剪切时区信息

问题描述

这是我的数据2018-07-03 00:00:00+02,但我想得到这个2018-07-03。如何在 Java 中减少时、分、秒和时区?

标签: javadate

解决方案


您可以将输入转换为 a ZoneDateTime,然后LocalDate像这样从中提取:

String str = "2018-07-03 00:00:00+02".replace(" ", "T"); 
ZonedDateTime zdt = ZonedDateTime.parse(str);
LocalDate ld = zdt.toLocalDate(); // 2018-07-03

注意:我使用替换空格'T'来尊重ZonedDateTime.


或者更好,您可以使用OffsetDateTime而不是ZonedDateTime按照建议Ole V.V.

OffsetDateTime odt = OffsetDateTime.parse(str);

推荐阅读