moment.js, haftanın günü numarası nasıl alınır


104

Bir moment tarih nesnem var ve seçilen gün numarasını (0-6) veya (1-7) almak istiyorum.

Bunu denedim ama işe yaramıyor

var aaa = moment(date).day();

bana yardım et lütfen

Yanıtlar:


147

"Çalışmıyor" u tanımlayın.

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>

Bu, beklendiği gibi "4" yazdırır.


58
Merak edenler için 2015-07-02 Perşembe oldu. Anlamı, 0 -> Pazar. Şerefe
Sharukh Mastan

14
Burada önemli olan nokta, bunun yerel ayara bağlı olmasıdır, eğer yerel ayarınız hafta başı olarak pazartesileri olan bir ülkeye ayarlanmışsa, 0, pazartesi anlamına gelir. - momentjs.com/docs/#/get-set/weekday
Kjellski

5
kullanmak .isoWeekday()ve sonra gerekli yerel ayara dönüştürmek daha iyi bir seçimdir. Yerel ayarı çok yerel
ayarlı bir

97

Özellikle 1-7 yaklaşımını arıyorsanız ...

Bu, ISO hafta içi gün numarasıdır . moment.js de bunu hesaba katmıştır. KullanımisoWeekday()

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>

Bu cevabı Salı günü yazdığıma göre, bugün bu bana 2 veriyor.


7
Ayrıca, çalışma, günde 1 olarak Pazar DOW almak için var Dow = an () olacağını, bu ekleyen isoWeekday () Pazar 0'dır% 7.
Difinity


2

Dokümanlar sayfasından, bu yararlı başlıklara sahip olduklarına dikkat edin

http://momentjs.com/docs/#/get-set/weekday/
(İlk başta onları görmedim)

Aşağıdakiler için başlık bölümleri ile:

  • Ayın Tarihi
  • Haftanın günü
  • vb

.

  var now = moment();
  var day  = now.day();
  var date = now.date(); // Number

1

Bunu moment kullanarak ve ayrıca Javascript kullanarak 2 şekilde elde edebilirsiniz.

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>

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.