Moment.js ottiene il nome del giorno dalla data


93

Sto usando jquery e moment.js per un calendario personalizzato.

Ho un oggetto data in una variabile myDatecome:

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

Voglio, usando moment.js (o no) ottenere il nome del giorno di questa data, nel mio esempio devo ottenere: tuesday

Idee? Grazie


4
moment (). format ('dddd'); dovrebbe funzionare
alessandro

già provato, se utilizzo moment (mydate) .format ('dddd') ho una data non valida per errore
Clément Andraud

1
probabilmente è la mia data il tuo problema
alessandro

Risposte:


182

Con il momento puoi analizzare la stringa della data che hai:

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

Questo è per UTC, dovrai convertire il fuso orario da quel punto se lo desideri.

Quindi puoi ottenere il giorno della settimana:

dt.format('dddd');

Ci sono così tante risposte non funzionanti là fuori. Questo è quello che funziona!
Adam Levitt

41

codice

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

mydate è la data di input. La variabile weekDayName ottiene il nome del giorno. Ecco l'output

Produzione

mercoledì

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>


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

Risultato: mer

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

Risultato: mercoledì

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.