假设用户行程从 07/06/2019 开始,到 14/07/2019 结束。
所以 2019 年 7 月 6 日将 = 1(今天是您行程的 1 天) 2019 年 8 月 6 日 =2(今天是您旅行的第二天) 。等等
我尝试做这样的事情,但它不起作用。
let startDay =moment('9.6.2019', 'DD.MM.YYYY')
let today =moment()
let endDay = moment('10.6.2019', 'DD.MM.YYYY')
let start_to_today_days = today.diff(startDay, 'days')
let start_to_end_days = endDay.diff(startDay, 'days')
let actDay = parseInt(start_to_end_days)-
parseInt(start_to_today_days)
let expendday = parseInt(start_to_today_days) - parseInt(actDay)
console.log(Math.abs(expendday))
用户今天预订了 2019 年 7 月 6 日至 2109 年 7 月 14 日的行程。天计数器将从明天开始计算直到到达结束日期为止经过的天数。
最佳答案
您可以使用 moment.js 创建一个函数来计算耗时。
// Day of trip is the trip duration + 1..
function getDayOfTrip(tripStartString, currentDateString) {
let startDate = moment(tripStartString, 'DD.MM.YYYY');
let currentDate = moment(currentDateString, 'DD.MM.YYYY');
return currentDate.diff(startDate, 'days') + 1;
}
let tripStartTime = '7.6.2019';
let tripDates = ['7.6.2019', '8.6.2019', '9.6.2019', '10.6.2019', '11.6.2019', '12.6.2019'];
tripDates.forEach(tripDate => console.log(`Trip date: ${tripDate}, day of trip: ${getDayOfTrip(tripStartTime, tripDate)}`));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.25/moment-timezone-with-data-10-year-range.js"></script>
关于javascript - 如何计算两个日期之间经过的天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56472567/