java date 减小时_Java 8 LocalDateTime在解析带有00秒的日期字符串值时会降低00秒的值,例如“ 2018-07-06 00:00:00”...

(爪哇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中的错误/有趣控件。

请注意,我无法控制此日期值,它来自第三方平台。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值