Вычисление количества дней между двумя датами в 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 наиболее известен для разработки веб-страниц, но он также используется в различных средах, не связанных с браузером.