Moment.js obtient le nom du jour à partir de la date

93

J'utilise jquery et moment.js pour un calendrier personnalisé.

J'ai un objet date dans une variable myDatecomme:

 Object { date="2014-12-23 14:00:00", timezone_type=3, timezone="Europe/Paris"}

Je veux, en utilisant moment.js (ou non) obtenir le nom du jour de cette date, dans mon exemple, je dois obtenir: tuesday

Des idées? Merci

Clément Andraud
la source
4
moment (). format ('dddd'); devrait fonctionner
alessandro
déjà essayé, si j'utilise moment (mydate) .format ('dddd') j'ai une date invalide par erreur
Clément Andraud
1
est probablement mydate votre problème
alessandro

Réponses:

182

Avec le moment, vous pouvez analyser la chaîne de date que vous avez:

var dt = moment(myDate.date, "YYYY-MM-DD HH:mm:ss")

C'est pour UTC, vous devrez convertir le fuseau horaire à partir de ce point si vous le souhaitez.

Ensuite, vous pouvez obtenir le jour de la semaine:

dt.format('dddd');
Paul
la source
Il y a tellement de réponses qui ne fonctionnent pas là-bas. C'est celui qui fonctionne!
Adam Levitt
41

code

var mydate = "2017-06-28T00:00:00";
var weekDayName =  moment(mydate).format('dddd');
console.log(weekDayName);

mydate est la date d'entrée. La variable weekDayName obtient le nom du jour. Ici, la sortie est

Production

Mercredi

var mydate = "2017-08-30T00:00:00";
console.log(moment(mydate).format('dddd'));
console.log(moment(mydate).format('ddd'));
console.log('Day in number[0,1,2,3,4,5,6]: '+moment(mydate).format('d'));
console.log(moment(mydate).format('MMM'));
console.log(moment(mydate).format('MMMM'));
<script src="https://momentjs.com/downloads/moment.js"></script>

Deepu Reghunath
la source
7
var mydate = "2017-06-28T00:00:00";
var weekDayName =  moment(mydate).format('ddd');
console.log(weekDayName);

Résultat: mercredi

var mydate = "2017-06-28T00:00:00";
var weekDayName =  moment(mydate).format('dddd');
console.log(weekDayName);

Résultat: mercredi

Anand S
la source