Javascript 计算两个日期之间的天数、周数、月数和周末数

Javascript 计算两个日期之间的天数、周数、月数和周末数,javascript,momentjs,Javascript,Momentjs,我使用momentJS计算两个日期之间的天数。然后,我用月、周和天来换算这个数字。我不能算周末。我想我应该使用isoweek(),但它不适用于。它似乎检查了今天:var isoweek()=2,因为今天是星期二 var startDate = $('#jrange .input1').val(); var endDate = $('#jrange .input2').val(); var a = moment([startDate], 'DD-MM-YYYY'); var b = moment

我使用momentJS计算两个日期之间的天数。然后,我用月、周和天来换算这个数字。我不能算周末。我想我应该使用isoweek(),但它不适用于。它似乎检查了今天:var isoweek()=2,因为今天是星期二

var startDate = $('#jrange .input1').val();
var endDate = $('#jrange .input2').val();

var a = moment([startDate], 'DD-MM-YYYY');
var b = moment([endDate], 'DD-MM-YYYY');

//difference in days
var diffDays = b.diff(a, 'days');

//convert diff in month weeks and days

//if my range is between 2 and 7 days
if (diffDays >= 2 && diffDays <= 7) {
    $("#productRentLength").html("");

    //does the range contains saturday and sunday
    if (moment(diffDays).isoWeekday() == 6 && moment(diffDays).isoWeekday() == 7) {

        diffDays -= 2;

        var inDays = moment.duration(diffDays, "days").format("M [month] W [week(s)] D [days(s)] ");
        $("#productRentLength").text(inDays);
    }



} else {
    $("#productRentLength").html("");
    var inDays = moment.duration(diffDays, "days").format("M [month(s)] W [week(s)] D [days(s)]");
    $("#productRentLength").text(inDays);
}
var startDate=$('#jrange.input1').val();
var endDate=$('#jrange.input2').val();
var a=力矩([startDate],'DD-MM-YYYY');
var b=力矩([endDate],'DD-MM-YYYY');
//日差
var diffDays=b.diff(a,“天”);
//按月、周和日换算差异
//如果我的范围在2到7天之间

如果(diffDays>=2&&diffDays“它不工作”是什么意思?似乎如果(moment(diffDays).isoWeekday(6)==6&&moment(diffDays).isoWeekday(7)==7)会议,即今天的周六或周日,它不会在diffDays内检查您确定要使用
&
,意思是“和”?一天绝不是周六和周日同时出现。你可能想用
|
(或)来代替。是的,你是对的,但我的意思是在不同的日子里有一个周六和一个周日。
if
语句中的逻辑仍然有问题。
时刻(diffDays)。isoWeekday()
不会返回6,也不会返回7。我不知道momentJS,但你检查的方式是错误的。你说“它不工作”是什么意思?似乎如果(moment(diffDays)。isowekday(6)==6&&moment(diffDays)。isowekday(7)==7)如果今天是星期六或星期天,它不会在diffdays内检查您确定要使用
&&
,这意味着“和”?一天绝不是星期六和星期天同时出现。您可能想使用
|
(或)相反。是的,你是对的,但我的意思是在不同的日子,一个星期六和一个星期天,
if
语句中的逻辑仍然有问题。
moment(diffDays)。isoWeekday()
不会返回6,也不会返回7。我不知道momentJS,但你检查的方式是错误的。