Text ‘2024-1-3 23:00‘ could not be parsed at index 5错误

作者在项目中遇到格式错误,发现是由于将日期格式写成了1而非01,这源于惯性思维。一个常见的日期格式陷阱,提醒开发者注意细节。
摘要由CSDN通过智能技术生成

在项目的时候发现报格式格式错误,检查代码之后发现也没有错。

检查发送代码后才发现自己因为惯性思维写成了

改成对应yyyy-MM-dd HH:mm 之后就对了,对应MM,dd,应该是两个数字,而不能单单写称1,要写成01.

  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
这个错误通常表示输入的日期时间字符串格式与指定的格式不匹配。在这种情况下,输入的日期时间字符串中缺少了时区信息,因为它没有以“Z”或“+/-hh:mm”格式表示。因此,Java无法将其解析为日期时间对象。 要解决这个问题,您需要确保输入的日期时间字符串包含时区信息。如果您不能提供时区信息,可以将其默认设置为UTC时区,并将“Z”附加到日期时间字符串的末尾。例如: ```java String dateTimeStr = "2011-12-03T10:15:30"; Instant instant = LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ISO_LOCAL_DATE_TIME) .atZone(ZoneId.of("UTC")) .toInstant(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String formattedDateTimeStr = formatter.format(instant.atZone(ZoneId.systemDefault()).toLocalDateTime()); System.out.println(formattedDateTimeStr); ``` 在上面的代码中,我们首先使用DateTimeFormatter.ISO_LOCAL_DATE_TIME格式解析输入的日期时间字符串,然后将其转换为UTC时区的Instant对象。接下来,我们使用DateTimeFormatter.ofPattern()方法创建一个指定格式的时间格式化器。最后,我们使用Instant.atZone()方法将Instant对象转换为ZoneDateTime对象,并将其转换为本地时区的LocalDateTime对象。最后,我们使用DateTimeFormatter.format()方法将LocalDateTime对象格式化为指定格式的字符串。 这样就可以避免“Text '2011-12-03T10:15:30' could not be parsed at index 19”错误了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

B_il_l

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

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

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

打赏作者

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

抵扣说明:

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

余额充值