Javascript - простой способ конвертировать дату в плавающий так же, как SQL-сервер - PullRequest
0 голосов
/ 23 мая 2019

SQL Server может преобразовать дату в число с плавающей точкой. Например, «2019-05-23 17: 33: 16,780» будет 43606,731444213

Если я не ошибаюсь:

  • целое число - количество дней, прошедших с начала эпохи (начало 1900/01/01)
  • десятичная часть - это процент прошедшего дня с полуночи.

Есть ли простой способ сделать такое же преобразование в javascript? Я не хочу, чтобы число с плавающей точкой начиналось с эпохи JS.

1 Ответ

1 голос
/ 23 мая 2019

Вы можете использовать прототип JavaScript Date и определить свою собственную начальную дату:

var date = new Date('2019-05-23 17:33:16.780');
var init = new Date('1900-01-01');

console.log((date - init) / (1000 * 60 * 60 * 24));
// 43606.68977754629

Деление на 1000 * 60 * 60 * 24 - преобразование из миллисекунд в дни.

В качестве альтернативы вы можете использовать moment.jsбиблиотека:

var date = moment('2019-05-23 17:33:16.780');
var init = moment('1900-01-01');

console.log(date.diff(init) / (1000 * 60 * 60 * 24));
// 43606.69922199074
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...