我从移动客户端获取数据作为json文件。
但是,如果只是时间戳,它就无法正常接收数据。 最后,截断了3位数字。所以日期完全错了。
这是我的来源。
json文件
{
"startPhotoAddress": "Great Ocean Road, Hordern Vale",
"createTimeStamp": "1356998400",
"startPhotoTimeStamp": "1356998430"
}
在控制器中
@RequestMapping(value = "/moment", method = RequestMethod.POST, headers = "Accept=application/json")
public @ResponseBody JsonNode setMomentJson(HttpServletRequest request, @RequestBody Moment moment){
在模型中
import java.sql.Timestamp;
public class Moment{
private Timestamp createTimeStamp;
public Timestamp getCreateTimeStamp() {
return createTimeStamp;
}
public void setCreateTimeStamp(Timestamp createTimeStamp) {
this.createTimeStamp = createTimeStamp;
}
}
我得到 createTimeStamp:1970-01-17 01:56:38.4
它仅使用13569984来自createTimeStamp的13569984。
如果收到字符串,则不是问题。
请问,问题是什么? 在此先感谢您的帮助。
答案 0 :(得分:0)
如果您接收时间戳值(以秒为单位,而不是毫秒),则可以使setter接受long类型并将输入值乘以1000,并通过调用构造函数创建Timestamp实例。像这样:
public class Moment{
private Timestamp createTimeStamp;
public Timestamp getCreateTimeStamp() {
return createTimeStamp;
}
public void setCreateTimeStamp(long createTimeStamp) {
this.createTimeStamp = new Timestamp(createTimeStamp * 1000);
}
}