【问题标题】:How to map timestamp to date in Object mapper如何在对象映射器中将时间戳映射到日期
【发布时间】:2017-07-25 12:55:52
【问题描述】:

现在我正在使用对象映射器将我的时间戳映射到日期,但这会将我的日期对象的日期变成这样的东西,如果时间戳是 1359657000,那么它的日期应该是 2013 年 1 月 31 日,但它显示给我日期为 01/31/1970,所以我不明白这种方法有什么问题。

public class Abcd{ 
   private Date year
 }

现在我得到了这个 json

{
"data":
{
"fromDate": 1335810600"
}
}

当我从 Object Mapper 像这样映射它时

ObjectMapper mapper =new Mapper();
mapper.readValue(data,Abcd.class);

现在 year 的值是 1970 年 12 月 31 日,虽然它应该是 2013 年 12 月 31 日

【问题讨论】:

  • 你能告诉我们你到目前为止的尝试吗?
  • 你能提供一些工作代码吗?
  • 最好发布minimal reproducible example,正如已经建议的那样。这应该很容易,所以我们可能无法从您的简短描述中猜到一个小错误。
  • 我已经提供了工作示例和我尝试过的东西,如果你能帮助我,请告诉我@az

标签: java jackson objectmapper


【解决方案1】:

不确定我是否真的理解您的问题,但在大多数情况下您不想处理时间戳:

mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);

然后你可以定义你的Date的格式:

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy")
public Date date;

【讨论】:

    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 2019-07-30
    相关资源
    最近更新 更多