dayNumber
は、それぞれ0..6
を表すMonday..Sunday
からのものです。
Date
/String
オブジェクトを使用して、dayNumber
から曜日を取得できますか?
これにより、渡すインデックスに基づいて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を出力します。
ECMAスクリプトの最新バージョンを起動し、すべての最新のブラウザーとnode.jsで実行することを選択した場合、ロケールごとに平日も表示できるはるかにエレガントな方法があります。
console.log(new Date().toLocaleString('en-us', { weekday: 'long' }));
このコードは、上記のコードの修正バージョンです。代わりに日を表す文字列を返します
/**
* 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"
これにより、getDateOfWeek()関数がプロトタイプとしてJavaScript Dateクラスに追加されます。
Date.prototype.getDayOfWeek = function(){
return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][ this.getDay() ];
};
/**
* 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);
}