javascript - 使用 JavaScript 获取任何工作日的数值/整数值

标签 javascript date

以字符串形式给出任何工作日的名称,我试图使用 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?

请注意:

  1. 我正在尝试使用 JS 日期对象在 native 实现此目的。
  2. 我需要将任何其他工作日作为字符串传递并获取它对应的整数值。

编辑 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/

相关文章:

date - 更改列表中的日期格式

javascript - 如何在 Laravel 5.2 中获取 AJAX 表记录

javascript - 为什么 url 附加在 ajax success Handler 中的 contextpath 之后

javascript - WebGL 片段着色器不透明度

mysql - 如何使用日期范围过滤 mysql 查询

java - 如何获得一年中某一周的年份?

javascript - Highchart : in bar chart, 如何根据数据增加柱线?

javascript - 同时发出 chirp 和 WebRTC - 无回声消除

javascript - 在 Javascript 中设置日期格式

c - 如何在 C 中获取十六进制日期和时间