Вычислить разницу между двумя датами в JavaScript

Используйте объект «Дата» для расчетов, определения отклонения в годах или днях, получения возраста человека.

Разница между двумя датами в годах

Вот функция JavaScript, которая выполняет вычисление. В качестве аргумента она ссылается на две последние даты. Есть более простой код, который мы дадим, но он дает доступ к дополнительной информации о датах.

Например, возраст Эйфелевой башни составляет лет, число, которое вычисляется по следующей формуле: New Number ((новая дата () .getTime () - новая дата («31 марта 1889 года «) .getTime () )/ 31536000000) .toFixed (0).

function dateDiff(dateold, datenew)
{
  var ynew = datenew.getFullYear();
  var mnew = datenew.getMonth();
  var dnew = datenew.getDate();
  var yold = dateold.getFullYear();
  var mold = dateold.getMonth();
  var dold = dateold.getDate();
  var diff = datenew - dateold;
  if(mold > mnew) diff--;
  else
  {
    if(mold == mnew)
    {
      if(dold > dnew) diff--;
    }
  }
  return diff;
}

Демонстрация:

Код демонстрации...

var today = new Date();
var olday = new Date("1 January 2000");
document.write("Années depuis le 1 janvier 2000: ");
document.write(dateDiff(olday, today));
document.write(" ans.");

Разница в днях

Для этого мы будем переводить годы в дни, разница проще.

function dayDiff(d1, d2)
{
  d1 = d1.getTime() / 86400000;
  d2 = d2.getTime() / 86400000;
  return new Number(d2 - d1).toFixed(0);
}

Демонстрация:

Различия в годах, более простой код

Мы используем предыдущий код для разницы в днях, и мы делим на 365.

Код:

function dayDiff(d1, d2)
{
	return new Number((d2.getTime() - d1.getTime()) / 31536000000).toFixed(0);
}

Демонстрация:

Рассчитать возраст человека

Для отображения возраста человека или вещи используется предыдущий код, с датой его рождения в качестве первого параметра, но без второго параметра.

Код:

function age(birthday)
{
  birthday = new Date(birthday);
  return new Number((new Date().getTime() - birthday.getTime()) / 31536000000).toFixed(0);
}

Демонстрация:

Возраст Михаэля Шумахера - лет.

Код :

L'âge de Michael Schumacher est de 
<script>document.write(age("3 January 1969"))</script> ans.

Живая демонстрация