为什么你代码没写错却报java.time.format.DateTimeParseException: Text ‘2020-10-2‘ could not be parsed at index 8

我,一个从大一开始学习java,大学第一个假期学到servlet写web,下学期就开始调接口打比赛的,大二在校跟老师参加项目拿到软著的小辣鸡,自认为是算作大学期间才接触web的那批人里学的比较快的。
在这里插入图片描述

但这个bug,真的让我觉得真是越是简单的东西越是坑。
在这里插入图片描述
日期类这个东西,如果正儿八经的接过项目的人都应该碰见过接触过用过。

在这里插入图片描述

但你真的,了解它吗?
在这里插入图片描述

事情是这样的,我在手写一个springmvc框架,写到接收注入自定义方法的参数的日期类型这里:
在这里插入图片描述

可以看到,我分别定义了对“年月日”这种参数类型,接收参数的格式化,和“年月日时分秒”这种参数类型的格式化。

parse方法没有不熟悉的吧?前一个参数是字符串,后一个参数是格式化的格式。
我的格式: yyyy-MM-dd

然后写一个测试方法,开始测试debug
在这里插入图片描述
一开始测试:2022-1-1
在这里插入图片描述
啥也没接收到,可是为什么呢?代码没写错呀

检查了一番导包然后再次测试: 2022-10-10
在这里插入图片描述
嗯,传进去了。
在这里插入图片描述
原因是因为:
当month小于10时,’MM’ 解析失败,前面加上0则解析成功.

再次测试:
在这里插入图片描述
成功。
其实提示的也很清楚了,
Text ‘2020-10-2’ could not be parsed at index 8
第八位正好是2,改成02就对了。
在这里插入图片描述

所以如果对日期格式不了解
,那,你的前端就会踩坑。

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值