如何在Java中解析ISO格式的日期?

如何在Java中解析ISO格式的日期?,java,datetime,simpledateformat,Java,Datetime,Simpledateformat,我收到Java中的iso格式日期。如何解析它以获得MM和DD iso格式的日期:2015-08-10T21:00:00.090Z一些参考资料 希望对您有所帮助java.time 另一个答案是使用麻烦的旧日期时间类,现在被java.time类取代 在解析和生成表示日期时间值的字符串时,java.time类默认使用ISO 8601格式 以UTC表示时间线上的一个时刻,分辨率为纳秒 Instant instant = Instant.parse( "2015-08-10T21:00:00.090Z

我收到
Java
中的
iso
格式日期。如何解析它以获得
MM
DD

iso格式的日期:
2015-08-10T21:00:00.090Z

一些参考资料

希望对您有所帮助

java.time 另一个答案是使用麻烦的旧日期时间类,现在被java.time类取代

在解析和生成表示日期时间值的字符串时,java.time类默认使用ISO 8601格式

以UTC表示时间线上的一个时刻,分辨率为纳秒

Instant instant = Instant.parse( "2015-08-10T21:00:00.090Z" );
调整到你想看到这个时刻的时区

ZoneId z = ZoneId.of( "America/Montreal" );
ZonedDateTime zdt = instant.atZone( z );
你可以逐月逐日询问

int month = zdt.getMonthValue();
int dayOfMonth = zdt.getDayOfMonth();

你试过什么了吗?你是说ISO格式吗?@AndyTurner是的,是打字错误。试一下这个页面。这里有一个类似的问题:如果您使用Java8,您可以通过以下操作轻松完成:
ZonedDateTime date=ZonedDateTime.parse(“2015-08-10T21:00:00.090Z”,DateTimeFormatter.ISO_date_TIME)
int month = zdt.getMonthValue();
int dayOfMonth = zdt.getDayOfMonth();