Java 8 准确地按解析结果打印ZoneDateTime

Java 8 准确地按解析结果打印ZoneDateTime,java-8,zoneddatetime,Java 8,Zoneddatetime,我有一个格式为的日期字符串: String日期=2014-05-05T05:05:00.000 zoneDateTime zoneDateTime=LocalDateTime.parse(date).atZone(ZoneId.of(“UTC”); 上述印刷品: 2014-05-05T05:05Z[UTC] 我们有没有办法按以下格式打印 2014-05-05T05:05:00.000Z 在joda时代,我可以轻松做到这一点: DateTime-DateTime=org.joda.time.Lo

我有一个格式为的日期字符串:

String日期=2014-05-05T05:05:00.000
zoneDateTime zoneDateTime=LocalDateTime.parse(date).atZone(ZoneId.of(“UTC”);

上述印刷品:

2014-05-05T05:05Z[UTC]

我们有没有办法按以下格式打印

2014-05-05T05:05:00.000Z

在joda时代,我可以轻松做到这一点:

DateTime-DateTime=org.joda.time.LocalDateTime.parse(date).toDateTime(UTC)

我们有没有办法按以下格式打印

字符串日期=2014-05-05T05:05:00.000

您可以使用
java.time.format.DateTimeFormatter.ofPattern()


参考资料:

谢谢,有没有办法得到这张打印的s ZoneDateTime。这是一个字符串实际上我已经试过了,那是我得到的:java.time.format.DateTimeParseException:Text'2014-05-05T05:05:00.000'无法在索引23处解析,当我从格式化程序中删除X时它可以工作,但结果是:2014-05-05T05:05Z[UTC]@参数问题中的代码无法导致注释中的错误。答案中的DateTimeFormatter用于格式化ZonedDateTime。解析ZonedDateTime时会发生此错误。因此,请正确阅读答案。我的意思是DateTimeFormatter.of模式(“yyyy-MM-dd'T'HH:MM:ss.SSSX”).format(zoneDateTime)是一个字符串,格式正确,但我需要它的类型为zoneDateTime我认为您在这里提出了错误的问题。请阅读文档并了解zoneDateTime的用法。谢谢
        String date = "2014-05-05T05:05:00.000";
        ZonedDateTime zoneDateTime = LocalDateTime.parse(date).atZone(ZoneId.of("UTC"));
        System.out.println(zoneDateTime);
        System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSX").format(zoneDateTime));