You are currently viewing Как рассчитать количество дней между двумя датами в javascript?

Как рассчитать количество дней между двумя датами в javascript?

Вычисление количества дней между двумя датами в JavaScript, необходимого для использования объекта даты для любого вида расчета. Для этого сначала получите внутреннее значение даты в миллисекундах, используя встроенную функцию JavaScript getTime (). Как только обе даты будут преобразованы, продолжайте, вычитая более позднюю из более ранней, которая, в свою очередь, возвращает разницу в миллисекундах. Позже окончательный результат может быть рассчитан путем деления разницы (которая выражается в миллисекундах) обеих дат на количество миллисекунд в один день.

Синтаксис:

Date.getTime()

Подход 1:

  • Определите две даты с помощью new Date().
  • Рассчитайте разницу во времени двух дат, используя date2.getTime() – date1.getTime();
  • Рассчитайте нет. дней между двумя датами, разделите разницу во времени обеих дат на количество миллисекунд в сутках (1000*60*60*24)
  • Распечатайте конечный результат с помощью функции document.write().

Пример 1: Следующая программа на JavaScript проиллюстрирует решение

<script type = "text/javascript" >
	// JavaScript program to illustrate
	// calculation of no. of days between two date

	// To set two dates to two variables
	var date1 = new Date("06/30/2019");
var date2 = new Date("07/30/2019");

// To calculate the time difference of two dates
var Difference_In_Time = date2.getTime() - date1.getTime();

// To calculate the no. of days between two dates
var Difference_In_Days = Difference_In_Time / (1000 * 3600 * 24);

//To display the final no. of days (result)
document.write("Total number of days between dates <br>"
			+ date1 + "<br> and <br>"
			+ date2 + " is: <br> "
			+ Difference_In_Days);

</script>

Выход:

Total number of days between dates 
Sun Jun 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time)
and 
Tue Jul 30 2019 00:00:00 GMT-0700 (Pacific Daylight Time) is: 
30

Подход 2:

  • Определил текущую дату с помощью новой date(), которая даст текущую дату и дату Рождества по date.getFullYear() (это даст год, 0-11 — это месяцы в JavaScript).
  • если условие для расчета общего количества дней, если Рождество уже прошло (это вычислит нет. дней между нынешней датой и Рождеством следующего года).
  • Используйте Math.round(christmas() – present_date.getTime()), разделенный на миллисекунды одного дня, чтобы вычислить результат в миллисекундах, а затем преобразовать в дни

Пример 2: В этом примере мы рассчитали количество дней до Рождества.

<script type = "text/javascript" >

	// One day Time in ms (milliseconds)
	var one_day = 1000 * 60 * 60 * 24

// To set present_dates to two variables
var present_date = new Date();

// 0-11 is Month in JavaScript
var christmas_day = new Date(present_date.getFullYear(), 11, 25)

// To Calculate next year's Christmas if passed already.
if (present_date.getMonth() == 11 && present_date.getdate() > 25)
	christmas_day.setFullYear(christmas_day.getFullYear() + 1)

// To Calculate the result in milliseconds and then converting into days
var Result = Math.round(christmas_day.getTime() - present_date.getTime()) / (one_day);

// To remove the decimals from the (Result) resulting days value
var Final_Result = Result.toFixed(0);

//To display the final_result value
document.write("Number of days remaining till christmas <br>"
			+ present_date + "<br> and <br>"
			+ christmas_day + " is: <br> "
			+ Final_Result);

</script>

Выход:

Number of days remaining till christmas 
Sun Jun 30 2019 11:33:51 GMT-0700 (Pacific Daylight Time)
and 
Wed Dec 25 2019 00:00:00 GMT-0800 (Pacific Standard Time) is: 
178

JavaScript наиболее известен для разработки веб-страниц, но он также используется в различных средах, не связанных с браузером.