Nom du jour de Date dans JS

Je dois afficher le nom du jour donné une date (comme "23/05/2014") que je reçois d'une tierce partie.

J'ai essayé d'utiliser Date , mais je n'obtiens la date.

Quelle est la bonne façon d'obtenir le nom du jour?

Vous pouvez utiliser la méthode Date.getDay() , qui renvoie 0 pour le dimanche, jusqu'à 6 pour le samedi. Ainsi, vous pouvez simplement créer un tableau avec le nom des noms de jour:

 var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var d = new Date(dateString); var dayName = days[d.getDay()]; 

Here dateString est la chaîne que vous avez reçue de l'API tierce.

Sinon, si vous voulez les 3 premières lettres du nom du jour, vous pouvez utiliser la méthode intégrée à la toString objet Date :

 var d = new Date(dateString); var dayName = d.toString().split(' ')[0]; 

Cela prend le premier mot dans la sortie d.toString() , qui sera le nom du jour de 3 lettres.

Ahum, trois ans plus tard …

Pourquoi personne n'utilise les méthodes fournies par la classe de classe javascript standard (sauf Callum Linington)?

Voir https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString

Obtenir le nom du jour à partir d'une date :

 function getDayName(dateStr, locale) { var date = new Date(dateStr); return date.toLocaleDateString(locale, { weekday: 'long' }); } var dateStr = '05/23/2014'; var day = getDayName(dateStr, "nl-NL")); // Gives back 'Vrijdag' which is Dutch for Friday. 

Obtenir tous les jours de la semaine dans un tableau:

 function getWeekDays(locale) { var baseDate = new Date(Date.UTC(2017, 0, 2)); // just a Monday var weekDays = []; for(i = 0; i < 7; i++) { weekDays.push(baseDate.toLocaleDateString(locale, { weekday: 'long' })); baseDate.setDate(baseDate.getDate() + 1); } return weekDays; } var weekDays = getWeekDays('nl-NL'); // Gives back { 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag', 'zondag'} which are the days of the week in Dutch. 

Pour les dates américaines, utilisez 'en-US' comme local.

 var days = [ "Sunday", "Monday", "...", //etc "Saturday" ]; console.log(days[Date.now().getDay()]); 

Simple, lisez l'objet Date dans le manuel JavaScript

Pour faire d'autres choses avec la date, comme obtenir une chaîne lisible, j'utilise:

 var d = new Date(); d.toLocaleString(); 

Si vous voulez juste l'utilisation de l'heure ou de la date:

 d.toLocaleTimeString(); d.toLocaleDateString(); 

Vous pouvez analyser les dates soit en effectuant:

 var d = new Date(dateToParse); 

ou

 var d = Date.parse(dateToParse); 
 let weekday = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'][new Date(dt).getDay())] 

Vous pouvez utiliser un objet

 var days = { 'Mon': 'Monday', 'etc..': 'etc..', 'Fri': 'Friday' } var date = new Date().toString().split(' ')[0]; //get day abreviation first console.log(days[date]); 

Pas la meilleure méthode, utilisez plutôt un tableau. Ce n'est qu'une méthode alternative.

http://www.w3schools.com/jsref/jsref_getday.asp

 var date = new Date(); var day = date.getDay(); 

Vous devriez vraiment utiliser Google avant de publier ici.

Étant donné que d'autres personnes ont affiché la méthode array, je vais vous montrer une autre façon d'utiliser une déclaration de commutateur.

 switch(day) { case 0: day = "Sunday"; break; case 1: day = "Monday"; break; ... rest of cases default: // do something break; } 

Les travaux ci-dessus, cependant, le tableau est la meilleure alternative. Vous pouvez également utiliser les instructions if() , mais une déclaration de commutateur serait beaucoup plus propre, alors plusieurs si.