我正在使用react-datepicker
处理日期输入,并且当我将表单提交到Spring-Mvc
API时,日期字段是如下所示的Javacript日期对象
它在我的spring bean中被映射(并用JPA/Hibernate
保存到数据库中)
public class FooBean {
...
public Date dateStart;
使用我的控制器
@PostMapping(value = "/foos")
public Integer saveFoos(@RequestBody FooBean bean) {
return fooService.saveFoo(bean);
}
,实体中的日期字段是这样映射的
@Temporal(TemporalType.DATE)
@Column(name = "date_os_start")
private Date dateStart;
但是当我尝试从数据库中读取值并将其发送到具有相同FooBean
(dto / json)的客户端时,日期值就是这样的数字:
我得到了这个错误
Warning: Failed prop type: Invalid prop `selected` of type `Number` supplied to `DatePicker`,
expected instance of `Date`.
如何从数据库中获取与JavaScript日期对象相同格式的日期?
答案 0 :(得分:2)
当日期保存到数据库中时,它似乎已转换为unix时间戳。
在将unix时间戳传递给您正在使用的任何react-datepicker
组件之前,您必须将unix时间戳转换回JS date对象。
const date = new Date(1555372800000)