Наша цель в этом уроке — найти количество дней между двумя датами.

В JavaScript мы можем создать объект даты, используя конструктор Date(). По умолчанию он отображает часовой пояс браузера.

var today = new Date()
//Tue Oct 13 2020 21:58:37 GMT+0530 (India Standard Time)

Теперь предположим, что мы хотим проверить дату 1 января 2020 года. Существуют различные способы ее узнать. Но, самый удобный способ, как мне кажется, приведен ниже.

var start = new Date("january 1,2020");
//Wed Jan 01 2020 00:00:00 GMT+0530 (India Standard Time)

JavaScript хранит даты в миллисекундах

JavaScript хранит даты как количество миллисекунд с 01 января 1970 года, 00:00:00 UTC (всемирное скоординированное время).

Предположим, вы хотите узнать, сколько миллисекунд прошло с 01 января 1970 года до настоящего момента или до любой другой даты.

Вы можете использовать метод getTime().

var today = new Date();
console.log(today.getTime());
//1602606920593

Итак, мы фактически заложили основу для объекта Date. Теперь мы можем рассчитать количество дней между «01 января 2020 г.» и сегодняшним днем.

var start = new Date("January 1,2020");
var today = new Date();
// Number of milliseconds in a day
var day = 1000 * 60 * 60 * 24;
var diff = today - start;
console.log(diff); // 24790433971
console.log(Math.floor(diff / day) + " days from January 1, 2020"); //286 days from January 1, 2020