(爪哇8)以下代码段的代码丢弃 秒部分 的我的 日期时间 时的秒值是 零 使用解析的时间内 LocalDateTime.parse ,如2018年7月10日00:00: 00 :
final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
final LocalDateTime localDateTime = LocalDateTime.parse("2018-07-06 00:00:00", dateTimeFormatter);
final String lexicalDate = localDateTime.toString();
System.out.println("Lexical Date : "+ lexicalDate);
final XMLGregorianCalendar gregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(lexicalDate);
System.out.println("Gregorian Calendar : "+ gregorianCalendar);
词法日期打印为:
词法日期:2018-07-10T00:00
代替:
词法日期:2018-07-10T00:00:00
现在,这会影响公历的日期值,该公历在删除第二个时将 返回null 。在其他情况下,如果秒值大于零,则效果很好。
javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(lexicalDate)
每当由于解析的字符串带有00秒的值而导致秒值被丢弃时,以上代码将返回null。
有人可以使用LocalDate时间提供更好的方法来解决此问题吗,否则它可能是Java 8 LocalDateTime中的错误/有趣控件。
请注意,我无法控制此日期值,它来自第三方平台。