Javascript 计算两个日期之间的天数、周数、月数和周末数
我使用momentJS计算两个日期之间的天数。然后,我用月、周和天来换算这个数字。我不能算周末。我想我应该使用isoweek(),但它不适用于。它似乎检查了今天:var isoweek()=2,因为今天是星期二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
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,但你检查的方式是错误的。