Проблема с типом даты (ОБЪЕКТ или НОМЕР) - PullRequest
0 голосов
/ 02 мая 2019

Я использую react-datepicker для обработки ввода даты, и когда я отправляю свою форму в мой Spring-Mvc API, поле даты является объектом даты javacript, как показано ниже

enter image description here

И он без проблем отображается (и сохраняется в базе данных с 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), значением даты будет число, подобное этому:

enter image description here

И я получил эту ошибку

Warning: Failed prop type: Invalid prop `selected` of type `Number` supplied to `DatePicker`, 
expected instance of `Date`.

Как я могу получить дату из базы данных в том же формате, что и объект даты в JavaScript?

1 Ответ

2 голосов
/ 02 мая 2019

Похоже, что когда дата сохраняется в вашей базе данных, она конвертируется в метку времени Unix.

Вам придется преобразовать метку времени Unix обратно в объект даты JS, прежде чем передавать ее любому используемому компоненту react-datepicker.

const date = new Date(1555372800000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...