如何从Javascript中的日期编号获取星期几?

Mis*_*hko 24 javascript string date

给出分别dayNumber来自0..6代表Monday..Sunday.

可以使用Date/ String对象来获取星期几dayNumber吗?

Gab*_*hen 49

一种更优雅的方式,允许您按区域设置显示工作日,如果您选择启动最新版本的ECMA脚本并且在所有最新浏览器和node.js中运行:

console.log(new Date().toLocaleString('en-us', {  weekday: 'long' }));
Run Code Online (Sandbox Code Playgroud)

  • 只是警告任何人使用它,它运作良好,但这是一个非常重要的方式来实现这一点.只有当您需要转换的日期很少而不是在服务器端nodejs应用程序上时才使用它.如果你在10k日期运行它,它需要很长时间,并有内存泄漏. (2认同)
  • 为了提高性能,MDN作者建议:“格式化大量日期时,最好创建一个Intl.DateTimeFormat对象并使用其format属性提供的功能。” 来源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString (2认同)

j08*_*691 30

这将根据您传递的索引给您一天:

var weekday=new Array(7);
weekday[0]="Monday";
weekday[1]="Tuesday";
weekday[2]="Wednesday";
weekday[3]="Thursday";
weekday[4]="Friday";
weekday[5]="Saturday";
weekday[6]="Sunday";
console.log("Today is " + weekday[3]);
Run Code Online (Sandbox Code Playgroud)

输出"今天是星期四"

您可以使用JavaScript获取当前天数索引getDay()(但在此方法中,星期日为0,星期一为1,等等):

var d=new Date();
console.log(d.getDay());
Run Code Online (Sandbox Code Playgroud)

星期一输出1.

  • `var dayOfWeek = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];` (7认同)

Ach*_*old 20

此代码是上面给出的修改版本.它返回表示日期的字符串

/**
* Converts a day number to a string.
*
* @param {Number} dayIndex
* @return {String} Returns day as string
*/
function dayOfWeekAsString(dayIndex) {
  return ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][dayIndex];
}
Run Code Online (Sandbox Code Playgroud)

例如

dayOfWeekAsString(0) returns "Monday"
Run Code Online (Sandbox Code Playgroud)

  • 这是不正确的,因为 `getDay()` 实现从 `Sunday` 开始。应该是: return ["Sunday","Monday", "Tuesday","Wednesday","Thursday","Friday","Saturday"][dayIndex]; (8认同)

小智 7

/**
* I convert a day string to an number.
*
* @method dayOfWeekAsInteger
* @param {String} day
* @return {Number} Returns day as number
*/
function dayOfWeekAsInteger(day) {
  return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].indexOf(day);
}
Run Code Online (Sandbox Code Playgroud)


Raf*_*aff 6

这将添加一个getDayOfWeek()函数作为JavaScript Date类的原型.

Date.prototype.getDayOfWeek = function(){   
    return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][ this.getDay() ];
};
Run Code Online (Sandbox Code Playgroud)