Moment.js obtém o nome do dia a partir da data

94

Estou usando jquery e moment.js para um calendário personalizado.

Eu tenho um objeto de data em uma variável myDatecomo:

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

Eu quero, usando moment.js (ou não) obter o nome do dia desta data, no meu exemplo eu preciso obter: tuesday

Ideias ? obrigado

Clément Andraud
fonte
4
momento (). formato ('dddd'); deve funcionar
alessandro
já tentei, se eu usar moment (mydate) .format ('dddd') eu tenho uma data inválida por engano
Clément Andraud
1
provavelmente é minha data o seu problema
alessandro

Respostas:

189

Com o tempo, você pode analisar a string de data que possui:

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

Isso é para UTC, você terá que converter o fuso horário daquele ponto se assim desejar.

Então você pode obter o dia da semana:

dt.format('dddd');
Paulo
fonte
1
Existem tantas respostas que não funcionam por aí. Este é o que funciona!
Adam Levitt
41

código

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

mydate é a data de entrada. A variável weekDayName obtém o nome do dia. Aqui a saída é

Resultado

Quarta feira

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
fonte
7
var mydate = "2017-06-28T00:00:00";
var weekDayName =  moment(mydate).format('ddd');
console.log(weekDayName);

Resultado: Quarta

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

Resultado: quarta-feira

Anand S
fonte