js根据开始日期和结束日期得到中间的所有日期

//根据开始日期和结束日期获取所有日期的方法
function get(day1, day2) {  
 var getDate = function(str) {  
       var tempDate = new Date();  
       var list = str.split("-");  
       tempDate.setFullYear(list[0]);  
       tempDate.setMonth(list[1] - 1);  
       tempDate.setDate(list[2]);  
       return tempDate;  
   }  
   var date1 = getDate(day1);  
   var date2 = getDate(day2);  
   if (date1 > date2) {  
       var tempDate = date1;  
       date1 = date2;  
       date2 = tempDate;  
   }  
   date1.setDate(date1.getDate() + 1);  
   var dateArr = [];  
   var i = 0;  
   while (!(date1.getFullYear() == date2.getFullYear()  
           && date1.getMonth() == date2.getMonth() && date1.getDate() == date2  
           .getDate())) {  
        var dayStr =date1.getDate().toString();  
           if(dayStr.length ==1){  
               dayStr="0"+dayStr;  
           }  
       dateArr[i] = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-"  
               + dayStr;  
       i++;  
       /* 
        * document.write("<div style='display:block'>" + date1.getFullYear() + 
        * "-" + (date1.getMonth() + 1) + "-" + date1.getDate() + "</div>"); 
        */  
       // document.write(dateArr[i] + "<br>");  
       date1.setDate(date1.getDate() + 1);  
   }  
dateArr.splice(0,0,day1)
dateArr.push(day2);
   return dateArr;  




}
可以使用 JavaScript 中的 Date 对象来计算两个日期之间的时间差。以下是一个计算两个日期之间相差天数和小时数的示例代码: ```js // 计算相差天数和小时数 function getDaysAndHours(startDate, endDate) { const oneDay = 24 * 60 * 60 * 1000; // 一天的毫秒数 const diffMs = Math.abs(endDate - startDate); // 两个日期相差的毫秒数 const diffDays = Math.floor(diffMs / oneDay); // 相差的天数 const diffHours = Math.floor((diffMs % oneDay) / (60 * 60 * 1000)); // 相差的小时数 return { days: diffDays, hours: diffHours }; } // 示例用法 const startDate = new Date('2022-01-01T00:00:00'); const endDate = new Date('2022-01-03T12:30:00'); const { days, hours } = getDaysAndHours(startDate, endDate); console.log(`相差 ${days} 天 ${hours} 小时`); ``` 在上面的代码中,我们首先定义了一个 `getDaysAndHours` 函数,它接受两个日期对象作为参数,并返回一个包含相差天数和小时数的对象。在函数内部,我们首先计算了一天的毫秒数,然后通过取两个日期对象相差的毫秒数,并除以一天的毫秒数,得到相差的天数。接着,我们计算了相差的小时数,即两个日期对象余下的毫秒数除以一小时的毫秒数。最后,我们将相差天数和小时数封装成一个对象并返回。 在示例用法中,我们创建了一个开始日期结束日期,然后调用 `getDaysAndHours` 函数,将其传入并输出结果。输出的结果为 `相差 2 天 12 小时`,表示开始日期结束日期相差 2 天 12 小时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值