datetime Java 8 LocalDateTime在分析带有00秒的日期字符串值时删除00秒值,如“20180706 00:00:00”
下面的代码(Java 8)片段在使用LocalDateTime解析的日期内,当秒值为0时,会删除我的日期时间的秒部分。解析,比如2018-07-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);
日期打印为:
Lexical Date : 2018-07-10T00:00
而不是:
Lexical Date : 2018-07-10T00:00:00
现在,这会影响公历的日期值,当第二个被删除时,将返回null。在其他情况下,当秒值大于零时,它工作正常
javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(lexicalDate)
每当由于解析字符串中的00秒值而删除秒值时,上述代码将返回null
是否有人能帮助我们更好地使用LocalDate时间处理这个问题,否则它可能是Java8LocalDateTime中的一个bug/full控件
请注意,我无法控制这个日期值,它来自第三方平台
共 (0) 个答案