java.time.format.DateTimeParseException: Text ‘2023-1-01 11:22:36‘ could not be parsed at index 5

Java中的日期和时间格式化异常

在日常的开发中,我们时常会使用到日期,稍微不注意就会出现问题,此时Java 8引入了java.time包,它提供了一组强大的API来处理日期和时间。然而,有时在将日期和时间从字符串转换为特定格式时,在此需要严格遵循规定,否则可能会遇到DateTimeParseException异常。

Exception in thread "main" java.time.format.DateTimeParseException: Text '2023-1-01 11:22:55' could not be parsed at index 5

描述

上述异常就是说明了在索引5处无法解析,这个异常通常是由于尝试将不受支持的格式转换为日期和时间对象引起的。

解决方案

针对上述DateTimeParseException异常,可以使用java.time.format.DateTimeFormatter类来指定日期和时间字符串的格式

public static void main(String[] args) {
    try {
        String dateTime = "2023-01-01 11:22:36";
        String pattern = "yyyy-MM-dd HH:mm:ss";
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
        LocalDateTime localDateTime = LocalDateTime.parse(dateTime, formatter);
        System.out.println(localDateTime);
    } catch (DateTimeParseException  e) {
        System.out.println(e.getMessage());
    }
}

代码标红的就是存在问题的地方,月份1-9需要前面加0

如果日期和时间字符串与指定的格式匹配,就会成功解析,并且解析后的LocalDateTime对象将被输出。

  • 13
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小帅kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值