如何将这行代码翻译成人类语言?

时间:2018-07-03 01:02:25

标签: javascript date calendar

您好,我正在尝试将此日历的开始工作日从星期日更改为星期一。 但我不了解"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) = 25Subtract days from a date in JavaScript

2 个答案:

答案 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