У меня есть конечная точка веб-API, которая принимает экземпляр java.time.Instant
, например:
{ "time": "2015-07-23T10:31:33Z" }
Когда я получу ответ, я получаю следующее:
{ "time": 1437647493 }
Когда я пытаюсь создать новый экземпляр Date
в JavaScript, например:
new Date(1437647493);
Я получаю этот результат:
Sat Jan 17 1970 15:20:47 GMT+0000 (GMT Standard Time)
Какова связь между "2015-07-23T10:31:33Z"
и 1437647493
и как я могу проанализировать результат по Date
JavaScript?
1437647493 - количество секунд с 1 января 1970 года. Это обычно называют временной отметкой UNIX, и эта дата является эпохой UNIX.
Date
ожидает число миллисекунд с эпохи UNIX. Умножьте на 1000, и вы получите время, которое захотите.
new Date(1437647493L * 1000)
Или, на Java, если вы используете Instant
, напишите:
Instant.ofEpochSecond(1437647493L)