Если у меня есть дата, входящая в функцию, как я могу узнать, есть ли у нее выходной день?
Как определить, является ли дата выходного дня в javascript
Ответ 1
var day = yourDateObject.getDay();
var isWeekend = (day === 6) || (day === 0); // 6 = Saturday, 0 = Sunday
Ответ 2
var isWeekend = yourDateObject.getDay()%6==0;
Ответ 3
Короткий и сладкий.
var isWeekend = ([0,6].indexOf(new Date().getDay()) != -1);
Ответ 4
Я попробовал правильный ответ, и он работал для определенных регионов, но не для всех:
В momentjs Docs: weekday Возвращаемое число зависит от локали initialWeekDay, поэтому Monday = 0 | Воскресенье = 6
Поэтому я изменяю логику, чтобы проверить фактическую DayString ("воскресенье")
const weekday = momentObject.format('dddd'); // Monday ... Sunday
const isWeekend = weekday === 'Sunday' || weekday === 'Saturday';
Таким образом, вы не зависит от локали.
Ответ 5
var d = new Date();
var n = d.getDay();
if( n == 6 )
console.log("Its weekend!!");
else
console.log("Its not weekend");
Ответ 6
Я проверил большинство ответов здесь и там всегда были проблемы с часовым поясом, локалью, или когда начало недели либо в воскресенье, либо в понедельник.
Ниже приведена информация, которая, на мой взгляд, более безопасна, поскольку она основана на названии дня недели и локали en.
let startDate = start.clone(),
endDate = end.clone();
let days = 0;
do {
const weekday = startDate.locale('en').format('dddd'); // Monday ... Sunday
if (weekday !== 'Sunday' && weekday !== 'Saturday') days++;
} while (startDate.add(1, 'days').diff(endDate) <= 0);
return days;
Ответ 7
Просто добавьте 1 перед модулем
var isWeekend = (yourDateObject.getDay() + 1) % 7 == 0;