web-dev-qa-db-ja.com

Javascriptの曜日番号から曜日を取得する方法は?

dayNumberは、それぞれ0..6を表すMonday..Sundayからのものです。

Date/Stringオブジェクトを使用して、dayNumberから曜日を取得できますか?

23
Misha Moroshko

これにより、渡すインデックスに基づいて1日が与えられます。

_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]);
_

出力は「今日は木曜日です」

getDay()を使用してJavaScriptから現在の日のインデックスを取得することもできます(ただし、このメソッドでは日曜日は0、月曜日は1など)。

_var d=new Date();
console.log(d.getDay());
_

月曜日に1を出力します。

29
j08691

ECMAスクリプトの最新バージョンを起動し、すべての最新のブラウザーとnode.jsで実行することを選択した場合、ロケールごとに平日も表示できるはるかにエレガントな方法があります。

console.log(new Date().toLocaleString('en-us', {  weekday: 'long' }));
49
Gabriel Kohen

このコードは、上記のコードの修正バージョンです。代わりに日を表す文字列を返します

/**
* 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];
}

たとえば

dayOfWeekAsString(0) returns "Monday"
20
Acho Arnold

これにより、getDateOfWeek()関数がプロトタイプとしてJavaScript Dateクラスに追加されます。

Date.prototype.getDayOfWeek = function(){   
    return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][ this.getDay() ];
};
6
Raff
/**
* 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);
}
3
Simon Bingham