javascript - 计算星期几
问题描述
我想用javascript写一个日历。对于日历,我使用 javascript 生成了一个表格,并且我想在一行中显示每个日期的星期几。但该表仅显示未定义。我不知道怎么了。
这是计算日期的函数:
var currentDay = function (currentMonth) {
var month_code = ["6", "2", "2", "5", "0", "3", "5", "1", "4", "6", "2", "4"];
var year_digit = currentYear - 2000;
var year_code = (year_digit + (year_digit / 4)) % 7;
currentDay = ((1 + month_code[currentMonth] + year_code) % 7) - 1;
return currentDay; }
我用公式计算一天:
(“月中的日期”+ 月代码 + 年代码)% 7
Month-Code 是固定的,在“month_code”-Array 中。它从一月开始,到十二月结束。我可以用当前年份的最后两位数字计算年份代码。然后我们将这些除以 4。然后我们添加最后两位数。然后我们必须以 7 为模计算总和,我们就有了年份代码。
例如:(我使用日期,我写了问题:04.04.2020)一个月中的一天:4 月代码:5 年代码:2020 --> 20 ;20/4 = 5;5 +20 = 25;25%7 = 4 --> 年份代码为 4
(4+5+4) % 7 = 6
现在我必须从结果中减去 1,因为数组以 0 而不是 1 开头。
var day_of_week = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
day_of_week[5]="Sat";
今天是星期六。
我希望有一个人可以帮助我
解决方案
你不使用Date
对象有什么原因吗?
使用日期对象,您可以通过调用设置为ortoLocaleString
的选项来获取工作日。weekday
short
long
const dateString = '05/23/2014';
const date = new Date(dateString);
console.log(`${dateString} was a ${date.toLocaleString('en-us', {weekday:'long'})}`);
const today = new Date();
console.log(`Today is a ${today.toLocaleString('en-us', {weekday:'short'})}`);
推荐阅读
- jupyter-notebook - Pythreejs 纹理 UV 映射
- sql - 从数据库中选择记录,日期为“As-On”,已过日期?
- java - 如何在java中为未知数量的参数编写构造函数?
- sql - 如果至少存在一个字符,如何将状态更新为错误的数字?
- r - 堆积条形图:y轴得到
- r - 如何根据 R 中特定列给出的子组创建新的数据框提取方法
- python - 安装错误 GDK_IS_DISPLAY (display)' failed
- primeng - 如何使用PrimeNG SplitButton打开一键打开选项的模态
- java - 如何为 Maven 项目的资源文件夹中的 fxml 文件设置控制器?
- javascript - 当我传入 json 字符串时,Ajax 不返回 Json