代码(爪哇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);
Run Code Online (Sandbox Code Playgroud)
词汇日期打印为:
词典日期:2018-07-10T00:00
不论是:
词典日期:2018-07-10T00:00:00
现在这会影响格里高利历的日期值,当第二个被删除时,它会返回null.其他情况当秒值大于零时,它完美地工作.
javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(lexicalDate)
Run Code Online (Sandbox Code Playgroud)
每当秒值被删除时,上面的代码返回null,因为带有解析字符串的00秒值.
有人可以使用LocalDate时间帮助处理此问题的更好方法,否则它可能是Java 8 LocalDateTime中的错误/有趣控件.
请注意,我无法控制此日期值,它来自第三方平台.