fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

[BUG]com.alibaba.fastjson2.JSONObject#getDate无法解析2023-12-01 00:00:00及之后的数据

Open SkySailStar opened this issue 2 years ago • 5 comments

问题描述

简要描述您碰到的问题。 com.alibaba.fastjson2.JSONObject#getDate无法解析2023-12-01 00:00:00及之后的数据,报java.time.format.DateTimeParseException: illegal input

环境信息

请填写以下信息:

  • OS信息: [e.g.:Ubuntu 22.04]
  • JDK信息: [e.g.:OracleJDK 17.0.5]
  • 版本信息:[e.g.:Fastjson2 2.0.19]

重现步骤

如何操作可以重现该问题:

  1. 使用 com.alibaba.fastjson2.JSONObject#getDate 方法
  2. 输入 2023-12-01 00:00:00 数据
  3. 出现 java.time.format.DateTimeParseException: illegal input 错误
//可在此输入示例代码
import com.alibaba.fastjson2.JSONObject;

public static void main(String[] args) {
    JSONObject jsonObject = new JSONObject();
    jsonObject.put("time", "2023-12-01 00:00:00");
    System.out.println(jsonObject.getDate("time"));
}

期待的正确结果

对您期望发生的结果进行清晰简洁的描述。 getDate方法获取到正确的数据

相关日志输出

请复制并粘贴任何相关的日志输出。

附加信息

如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。 微信截图_20231201112915 微信截图_20231201112950

SkySailStar avatar Dec 01 '23 03:12 SkySailStar

我测试了2.0.42版本是好的,你升级试试看?

wenshao avatar Dec 01 '23 06:12 wenshao

新版的已经没有toMillis19方法了

chlch avatar Dec 01 '23 07:12 chlch

那为什么2023-12-01 00:00:00之前的数据可以解析呢

SkySailStar avatar Dec 01 '23 07:12 SkySailStar

那为什么2023-12-01 00:00:00之前的数据可以解析呢

这个可以看下原来的写法,看历史是和上次关于输入无效月份issue加入的代码有关

chlch avatar Dec 01 '23 08:12 chlch

好的,感谢

SkySailStar avatar Dec 01 '23 09:12 SkySailStar