2014-10-30 29 views
5

momentJs'i kullanarak, haftanın ilk gününü (Pazartesi (1), Pazar (7) ...), Locale'ye dayanarak yeni an mı Haftanın ilk günü, Locale'ye dayanan haftanın ilk gününü alma Moment

  1. bir momentjs nesnesi oluşturuluyor ...

    moment.locale('uk'); 
    moment().startOf('week').isoWeekday(); //Returns 1 
    moment.locale('en'); 
    moment().startOf('week').isoWeekday(); //Returns 7 
    

    Ama bu biraz çirkin olduğunu düşünüyorum:

    ben ile şimdiki yerel ayar için haftanın ilk günü ne erişebilir biliyorum .

  2. Haftanın ilk gününe gitme.
  3. Hafta çözümleniyor.

Daha iyi bir fikir? Thx!

+0

moment.js sürümünü kontrol edin. – seysane

cevap

12

Bu soru momentjs mevcut API uygun bir cevabı vardır:

moment.localeData('en-us').firstDayOfWeek(); 

OP sorulan gibi - anı() gerekli hiçbir örneği, sadece düz, için "start" gitme de hiçbir çirkinlik localeData'nın basit kullanımı.

Not: Sadece andan (yaklaşık 12kb) çok daha büyük (44kb) olan moment + yerel dosya dosyasının indirilmesi gerekebilir.

sürümü 2.2.0 vaka gibi görünüyor, daha fazla bilgi onların dokümanlar üzerinde bulunabilir: http://momentjs.com/docs/#/i18n/locale-data/

0

kişiyi ne zaman anı gerçekleştirebildiğiniz() görünüyor. Yerel ('Biz'). Hafta içi (0) sürüm itibariyle 2.1.0 http://momentjs.com/docs/#/get-set/weekday/

+0

'İlk gün' derken, Pazartesi (1)/Pazar (7) demek istiyorum, bir tarih değil. Bu, haftanın ilk günü olan bir anı döndürür. Temel olarak, moment(). Locale ('biz') yapmaktan aynıdır. StartOf ('hafta') –

4

Bir yerel farkında başlangıç ​​yapmak istediğini bana görünüyor haftası (startOf('week')) ve değerini isoWeekday olarak değil, tarih ya da herhangi bir şey olarak geri mi veriyorsunuz? Bu durumda sorunuz cevaptır.

moment().startOf('week').isoWeekday(); 
+0

Lütfen, soru gereksinimine bakın: "bir an nesne oluşturmadan" –

+1

Ah üzgünüm, şimdi anladım. Afaik anının böyle çalışması gerekiyor ve ben bu kadar çirkin bulmuyorum ... İhtiyacın neresi? – durrrr

İlgili konular