У меня есть массив из 2 строк, каждая из которых находится во времени Unix.
[1484930449590,1548002449590]
Преобразование их обратно в удобочитаемое время дает мне сегодняшнюю дату и дату 2 года назад.
Однако, когда я анализирую обе эти метки времени с MomentJS:
const start = moment(timeRange[0])
const end = moment(timeRange[1])
, я получаю следующие значения:
moment("2001-01-01T00:00:00.000")
moment("2001-04-01T00:00:00.000")
По какой-то причине momentJS преобразует обе метки времени вгод 2001, хотя годы должны быть 2019 и 2017.
Сначала анализ строк не улучшает ситуацию:
const start = moment(parseInt(timeRange[0]))
const end = moment(parseInt(timeRange[1]))
Теперь start
и end
:
moment("1969-12-31T19:00:00.001")
moment("1969-12-31T19:00:00.004")
Кто-нибудь знает, что происходит?
Я попробовал следующее решение:
console.log(timeRange)
const start = moment(parseInt(timeRange[0]) / 1000)
console.log(start)
const end = moment(parseInt(timeRange[1]) / 1000)
console.log(end)
, но ничего не изменилось:
1484931697215,1548003697215
moment("1969-12-31T19:00:00.000")
moment("1969-12-31T19:00:00.000")
Обновление:
Проблема в том, что я ошибся, считая timeRange
массивом.Скорее, это была на самом деле строка.Это произошло потому, что на стороне клиента timeRange
был массив, но когда он был отправлен как GET-запрос на сервер и получен с const timeRange = req.query.timeRange
, он был преобразован в строку.