java – JSR-310 – 解析可变长度的秒数
发布时间:2020-12-14 05:04:26 所属栏目:Java 来源:网络整理
导读:有没有办法创建JSR-310格式化程序,能够解析以下日期/时间与秒分数的可变长度? 2015-05-07 13:20:22.276052 要么 2015-05-07 13:20:22.276 示例代码: DateTimeFormatter formatter= new java.time.format.DateTimeFormatterBuilder() .append( java.time.fo
有没有办法创建JSR-310格式化程序,能够解析以下日期/时间与秒分数的可变长度?
2015-05-07 13:20:22.276052 要么 2015-05-07 13:20:22.276 示例代码: DateTimeFormatter formatter = new java.time.format.DateTimeFormatterBuilder() .append( java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") ) .appendOptional( java.time.format.DateTimeFormatter.ofPattern(".SSSSSS") ) .toFormatter(); formatter.parse("2015-05-07 13:20:22.276052",LocalDateTime::from); 解决方法
这解决了这个问题:
DateTimeFormatter formatter = new DateTimeFormatterBuilder() .appendPattern("yyyy-MM-dd HH:mm:ss") .appendFraction(ChronoField.MICRO_OF_SECOND,6,true) .toFormatter(); System.out.println(LocalDateTime.parse("2015-05-07 13:20:22.276052",formatter)); System.out.println(LocalDateTime.parse("2015-05-07 13:20:22.276",formatter)); System.out.println(LocalDateTime.parse("2015-05-07 13:20:22",formatter)); // output 2015-05-07T13:20:22.276052 2015-05-07T13:20:22.276 2015-05-07T13:20:22 answer by JiriS是不正确的,因为它使用appendValue,而正确的方法是使用 在解析时, 使用builder时,利用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |