如何在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();