88 votes

comment déterminer si la date est un week-end en javascript

si j'ai une date à venir dans une fonction, comment puis-je savoir si c'est un jour de week-end ?

183voto

LukeH Points 110965
var dayOfWeek = yourDateObject.getDay();
var isWeekend = (dayOfWeek === 6) || (dayOfWeek  === 0); // 6 = Saturday, 0 = Sunday

55voto

kennebec Points 33886
var isWeekend = yourDateObject.getDay()%6==0;

11voto

user1949536 Points 71

Court et doux.

var isWeekend = ([0,6].indexOf(new Date().getDay()) != -1);

5voto

T04435 Points 361

J'ai essayé la bonne réponse et cela a fonctionné pour certains endroits mais pas pour tous :

In momentjs Docs : weekday Le nombre retourné dépend de la locale initialWeekDay, donc lundi = 0 | dimanche = 6

Donc je change la logique pour vérifier le DayString réel('Dimanche')

const weekday = momentObject.format('dddd'); // Monday ... Sunday
const isWeekend = weekday === 'Sunday' || weekday === 'Saturday';

De cette façon, vous êtes indépendant de Locale.

2voto

Orlandster Points 1665

Mise à jour 2020

Il y a maintenant plusieurs façons d'y parvenir.

1) Utiliser la méthode day pour obtenir les jours de 0 à 6 :

const day = yourDateObject.day();
// or const day = yourDateObject.get('day');
const isWeekend = (day === 6 || day === 0);    // 6 = Saturday, 0 = Sunday

2) Utiliser la méthode isoWeekday pour obtenir les jours de 1 à 7 :

const day = yourDateObject.isoWeekday();
// or const day = yourDateObject.get('isoWeekday');
const isWeekend = (day === 6 || day === 7);    // 6 = Saturday, 7 = Sunday

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X