Skip to content

[BUG]Exception in thread "main" java.time.format.DateTimeParseException: Text '1728957746640 #3102

@tsangshu

Description

@tsangshu

问题描述

简要描述您碰到的问题。
实体类Date对象日期带毫秒序列化问题,fastjson 1.2.80可以,升级到 2.0.53版本后报错
Exception in thread "main" java.time.format.DateTimeParseException: Text '1728957746640' could not be parsed at index 0

环境信息

请填写以下信息:

  • OS信息: [e.g.:Windows11]
  • JDK信息: [e.g.:Openjdk 1.8.0_312]
  • 版本信息:[e.g.:Fastjson2 2.5.3]

重现步骤

如何操作可以重现该问题:
@jsonformat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
用带毫秒的注解报错,用 @jsonformat(pattern = "yyyy-MM-dd HH:mm:ss")不报错

//可在此输入示例代码

import com.alibaba.fastjson.JSON;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@DaTa
public class TimeDemo implements Serializable {
private static final long serialVersionUID = 1L;

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
private Date createTime;

public static void main(String[] args) {
    long timestamp = 1728957746640L;
    String jsonString = "{\"createTime\":\"" + timestamp + "\"}";
    TimeDemo demo = JSON.parseObject(jsonString, TimeDemo.class);
    System.out.println(demo.getCreateTime());
}

}

期待的正确结果

对您期望发生的结果进行清晰简洁的描述。
加上SSS也能正确输出

相关日志输出

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

附加信息

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions