javascript - 如何将日历的开始日期布局从星期日更改为星期一?
问题描述
嗨,我正在尝试从作者 xMark 的这个日历示例代码中学习 JavaScript。但他的示例使用星期日作为一周的第一天。我希望它显示星期一为一周的第一天。到目前为止,我只设法更改了标题标签,但没有更改日期的正确位置。 https://codepen.io/xmark/pen/WQaXdv
所以我一直在试图理解在他的代码中我可以让日期向左移动一步。但我无法弄清楚这种转变应该发生在代码中的哪个位置。
我最卡住Calendar.prototype.showMonth = function(y, m) {...}
的部分是我认为需要改变的部分。在这个函数中我不明白为什么作者var k = lastDay_of_LastMonth - firstDay_of_Month+1;
在最后一个变量上加了+1?
在var k = ...
我完全迷失之后。每当我试图改变事情时,整个日历就会崩溃。
@纳吉布
var d7 = new Date(2018, 6, 1);
d7
"Sun Jul 01 2018" 00:00:00 GMT+0200 (Central European Summer Time)
var firstDay_of_Month = new Date(2018, 6, 1).getDay();
firstDay_of_Month
0 // July 1st is on a Sunday.
//_________________________________________________________________
var d8 = new Date(2018, 7, 1);
d8
"Wed Aug 01 2018" 00:00:00 GMT+0200 (Central European Summer Time)
var firstDay_of_Month = new Date(2018, 7, 1).getDay();
firstDay_of_Month
3 // August 1st is on a Wednesday.
//_________________________________________________________________
var dNaguib = new Date(2018, 6, 7);
dNaguib
"Sat Jul 07 2018" 00:00:00 GMT+0200 (Central European Summer Time)
var dNaguib = new Date(2018, 6, 7).getDay();
dNaguib
6 // July 7th is on a Saturday.
// Why then does this dynamic code looking for the 7th each month
// make everything in the calendar work?
var firstDay_of_Month = new Date(y, m, 7).getDay(); // Naguib
// While the original code looking for the 1st each month make
// some months break the calendar?
var firstDay_of_Month = new Date(y, m, 1).getDay(); // Original
解决方案
查看Nikhil Talreja 的代码。它应该让您了解如何让日历以星期一作为开始日期。另外,请查看类似的问题。
本质上,他使用了一些 for 循环和标签,例如:
cal_days_labels = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat','Sun'];
和
for (var j = 1; j <= 7; j++)
该项目与我想象的您的项目相似,因此希望这会有所帮助。
推荐阅读
- python - 使用来自八度音程的数据在 python 中进行二次规划
- python - 如何通过 gsclient 获取在远程机器上运行的脚本的输出?
- r - 如何计算R中列表中的重复元素?
- vue.js - 如何从 socket.io-client 的 url 中删除查询参数
- python - TypeError:预期的 str、字节或 os.PathLike 对象,而不是 HTTPResponse
- angular - 材料步进器 | 标题导航导致方法执行两次
- android - 将数据从 Android 设备写入 Windows 文件夹
- azure - 如何配置 AAD 安全 Web API 以授予来自 B2C 注册 Web 应用程序的访问权限
- security - VPN 如何知道客户端数据包的最终目的地?
- java - JXDatePicker swingx 语言