Respostas:
Defina "não funciona".
const date = moment("2015-07-02"); // Thursday Feb 2015
const dow = date.day();
console.log(dow);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Isso imprime "4", como esperado.
.isoWeekday()
e converter para o local necessário é a melhor escolha. Esta resposta é boa se você controlar a localidade explicitamente em um ambiente com várias localidades
Se você está procurando especificamente pela abordagem 1-7 ...
Este é o número ISO do dia da semana . moment.js também levou isso em consideração. UsarisoWeekday()
console.log(moment().isoWeekday()); // returns 1-7 where 1 is Monday and 7 is Sunday
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
Visto que escrevi esta resposta em uma terça-feira, hoje isso me dá um 2.
Eu acho que isso funcionaria
moment().weekday(); //if today is thursday it will return 4
Na página de documentos, observe que eles têm cabeçalhos úteis
http://momentjs.com/docs/#/get-set/weekday/
(não os vi no início)
Com seções de cabeçalho para:
.
var now = moment();
var day = now.day();
var date = now.date(); // Number
Você pode conseguir isso de duas maneiras usando o Momento e também o Javascript
const date = moment("2015-07-02"); // Thursday Feb 2015
const usingMoment_1 = date.day();
const usingMoment_2 = date.isoWeekday();
console.log('usingMoment: date.day() ==> ',usingMoment_1);
console.log('usingMoment: date.isoWeekday() ==> ',usingMoment_2);
const usingJS= new Date("2015-07-02").getDay();
console.log('usingJavaSript: new Date("2015-07-02").getDay() ===> ',usingJS);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>