您好,我正在尝试将此日历的开始工作日从星期日更改为星期一。
但我不了解"minimatch": "3.0.4" instead of "minimatch": "2.0.10"
行中的情况。这行代码试图用人类语言表达什么?
https://codepen.io/xmark/pen/WQaXdv?editors=1010
var k = ...
我从该线程中看到该代码正在计算(日期-天),向后倒数。但是我无法理解日历代码在人类语言中的作用。数学// June 2018
var k = lastDay_of_LastMonth - firstDay_of_Month+1;
27
//_____________________________________________________________________
// TEST
var lastDay_of_LastMonth = new Date(2018, 5, 0); // May 31st 2018
document.write('Today is: ' + lastDay_of_LastMonth.toLocaleString());
// Today is: 5/31/2018, 12:00:00 AM
var firstDay_of_Month = new Date(2018, 5, 1); // June 1st 2018
firstDay_of_Month."getDay()";
5
// June 2018
var k = lastDay_of_LastMonth - firstDay_of_Month+1;
lastDay_of_LastMonth.setDate(lastDay_of_LastMonth.getDate() - 6);
document.write('<br>X days ago was: ' + lastDay_of_LastMonth.toLocaleString());
// X days ago was: 5/25/2018, 12:00:00 AM
//_____________________________________________________________________
// June 2018
27 = 31 - 5+1;
是否应该回到6天,为什么我还需要重新获得值31-(5+1) = 25
?
Subtract days from a date in JavaScript
答案 0 :(得分:2)
从您附加的codepen中,开发人员正在使用k
来获取日历中应该出现的当月以外的日子(即,如果我们的月份是从星期二开始,然后是星期日) &星期一在上个月,但是我们需要获取这几天的“月份中的日期”),现在他们在两种情况下都使用k:
1:获取上个月var k = lastDayOfLastMonth - firstDayOfMonth+1;
的日期
2:获取下个月的日期:
else if ( i == lastDateOfMonth ) {
var k=1;
for(dow; dow < 6; dow++) {
html += '<td class="not-current">' + k + '</td>';
k++;
}
}
第一次,他们正在计算上个月的最后一天与本月第一天之间的差,+1
是因为您正在使用索引。
第二次可以肯定地说每个月都有1-6
,因此它们最多循环6次以填满日历的最后一周。
答案 1 :(得分:1)
这种语言的运算顺序优先于加减运算符。
换句话说,它使用PEMDAS。
所以它会执行31-5:26
然后26 + 1:27