Данный dayNumber
соответствует 0..6
, представляющему Monday..Sunday
соответственно.
Можно ли использовать объекты Date
/String
, чтобы получить день недели от dayNumber
?
Данный dayNumber
соответствует 0..6
, представляющему Monday..Sunday
соответственно.
Можно ли использовать объекты Date
/String
, чтобы получить день недели от dayNumber
?
Это даст вам день, основанный на индексе, который вы передаете:
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]);
Выходы "Сегодня четверг"
Вы можете получить индекс текущих дней из JavaScript с помощью getDay()
(однако в этом методе воскресенье равно 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.
*
* @method dayOfWeekAsString
* @param {Number} dayIndex
* @return {Number} Returns day as number
*/
function dayOfWeekAsString(dayIndex) {
return ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][dayIndex];
}
Например
dayOfWeekAsString(0) returns "Monday"
Это добавит функцию getDayOfWeek() в качестве прототипа в класс 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);
}