util.sql 日期在 json 响应中

util.sql dates in json response

我正在尝试将 java 实用程序日期传递给我的 json 响应,但没有成功。

如果我 System.out.println 我得到“1970-01-01 01:00:00.263”正确格式的日期。

    System.out.println("from date: " + fromDate);
    System.out.println("to date: " + toDate);

    // from date: 1970-01-01 01:00:00.022
    // to date: 1970-01-01 01:00:00.263

    // in my json i get 
    // from date: 22 
    // to date: 263

如果我将日期传递给 json return,我只会得到“263”(时间戳的最后一部分)?

如何设置日期格式以便获取整个日期(YY-MM-DD,时-分-秒)而不是时间戳的最后一部分?

模型对象

public class testSomething {

    boolean status;
    String msg;
    Date fromDate;
    Date toDate;

    public testSomething(boolean status, String msg, Date fromDate, Date toDate) {
    this.status = status;
    this.msg = msg;
    this.fromDate = fromDate;
    this.toDate = toDate;
    }

return值

    Date fromDate = dates.get(0);
    Date toDate = (Date) dates.get(dates.size() - 1);

    return new testSomething(true, "msg here", fromDate, toDate);

默认转换是发送自纪元 (date.getMillis()) 以来的毫秒数。有两个原因:

  1. 计算机不关心可读性。
  2. 此时间格式与时区无关。这意味着您可以将日期发送到另一台计算机,它会显示相同的时间点。

根据您的 JSON 框架,有不同的方法来安装数据转换器。 Jackson 有几个 third-party 数据类型模块用于此目的,您可以在 ObjectMapper.

中安装自己的模块

像这样就可以了...

long timestamp = fromDate.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY/MM/dd HH-mm-ss");
System.out.println(dateFormat.format(timestamp));

通过将 spring.jackson.date-format=(yyyy-MM-dd HH:mm:ss) 添加到我的 application.properties 文件来修复它

在 Java Spring 中,我想通过在对象中使用 java.sql.Date 的 PUT 将数据和时间发送到对象。我使用 json 发送它,这是我使用的格式

public class MyEntityClass {
    private String username;
    private Date dateTime;
}

而我使用的 Json 格式是,

{
    "username": "selena31",
    "dateTime":"2017-01-23T12:34:56"
}

它对我有用:)