как конвертировать метку времени в миллисекундах в javascript? (в реакции) - PullRequest
0 голосов
/ 01 апреля 2020

Рассмотрим код ниже,

const appointments = [

  {
    // id: 0,
  title: 'Watercolor Landscape',
  users_id: 2,
    startDate: new Date(1584576000000 * 1000),   // here is timestamps in milliseconds 
    endDate:  new Date(1584662400000* 1000),       // here is timestamps in milliseconds
    ownerId: 1,
  },
];

, но вывод startDate был неверным:

enter image description here

Это должно быть:

startDate: четверг, 19 марта 2020 г. 8:00:00 AM GMT + 08: 00

endDate: пятница, 20 марта 2020 г. 8:00:00 AM GMT + 08: 00

Ответы [ 4 ]

1 голос
/ 01 апреля 2020

Чтобы получить метку времени в миллисекундах за JS, вы можете сделать:

var date = new Date();
var timestamp = date.getTime();

Если вы не собираетесь поддерживать IE8 или предыдущие версии, вы можете использовать:

Date.now();

ПРИМЕЧАНИЕ: Метка времени - это количество миллисекунд, прошедших с 1 января 1970 года.

Подробнее здесь .

1 голос
/ 01 апреля 2020

Пожалуйста, просто используйте: new Date(your_timestamps) Итак, в вашем коде: startDate: new Date(1584576000000)

Подробнее об объекте Date в Javascript здесь https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

1 голос
/ 01 апреля 2020

unix метка времени уже в миллисекундах, Date.now() получает метку времени в миллисекундах!

, чтобы получить unix метку времени в секундах , вам нужно разделить ее на 1000

Math.floor(Date.now() / 1000)
0 голосов
/ 01 апреля 2020

Мне кажется, вы просто должны удалить * 1000, и все будет работать нормально:

console.log(new Date(1584576000000))
// Thu Mar 19 2020 02:00:00 GMT+0200

console.log(new Date(1584662400000))
// Fri Mar 20 2020 02:00:00 GMT+0200
...