以字符串形式给出任何工作日的名称,我试图使用 JavaScript 的 Date 对象获取其对应的整数。
这是我尝试过的:
const birthday = new Date('January 04, 2020');
const day_number = birthday.getDay();
console.log(day_number);
在上面的示例中,我知道日期,因此,我可以对其应用 getDay() 来检索当天的整数值。上面的代码将数字“6”记录为值并且是正确的(星期日的整数值为“0”,星期一为“1”,依此类推......直到星期六的整数值为“6”) .
我想要实现的目标:
我想直接提供工作日并获取它对应的整数值。示例如下:
const weekday = 'Saturday';
const day_number = weekday.getDay();
console.log(day_number);
当我运行上面的代码时,我收到以下错误消息:
weekday.getDay 不是函数
我应该在上面的代码中更改什么,以便当我直接使用 const weekday = 'Saturday';
提供工作日时,我得到 console.log(day_number); 的值;
作为 6
?
请注意:
- 我正在尝试使用 JS 日期对象在 native 实现此目的。
- 我需要将任何其他工作日作为字符串传递并获取它对应的整数值。
编辑 1:
我看了帖子Day Name from Date in JS这不是我要找的不是。该帖子中接受的解决方案将结果作为“Day Name”,而我试图输出“Day Name 的整数值”。
最佳答案
一种方法是为其使用函数。
下面是一个计算两种类型的星期几的示例。
function getWeekdayNumber (str) {
let date = new Date(str);
if (date.toString() === 'Invalid Date')
return str.includes('Monday') ? 1
: str.includes('Tuesday') ? 2
: str.includes('Wednesday') ? 3
: str.includes('Thursday') ? 4
: str.includes('Friday') ? 5
: str.includes('Saturday') ? 6
: str.includes('Sunday') ? 0
: undefined;
return date.getDay();
}
let weekday = 'Saturday';
console.log(weekday + ' --> ' + getWeekdayNumber(weekday));
let birthday = 'January 04, 2020';
console.log(birthday + ' --> ' + getWeekdayNumber(birthday));
关于javascript - 使用 JavaScript 获取任何工作日的数值/整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59594892/