2013-04-18 15 views
15

Pracuję z Moment.js po raz pierwszy. Próbowałem pobrać datę pierwszego dnia tygodnia, aw Europie jest to zwykle poniedziałek. Cokolwiek robię, dostaję niedzielę w wyniku pierwszego dnia tygodnia.Pierwszy dzień tygodnia Moment.js niepoprawny

Próbowałem skonfigurować różne języki (lokalne lub globalne), ale bezskutecznie. Używam pliku langs.min.js z moment.js github page. Plik języka „pl-PL” i "fr" ma linię kodu:

dow : 1, // Monday is the first day of the week. 

Więc chciałbym uzyskać datę poniedziałek, kiedy pytam za pierwszy dzień tygodnia prawej? Otrzymuję niedzielę jako wynik.

// Create moment object 
var localLang = moment(); 

// Set language to french 
localLang.lang('fr'); 

// Test language 
localLang.lang(); // Output: fr 

// Retrieve first day of the week and format it 
var dow = localLang.startOf('week').format('dddd DD-MM-YYYY'); // Output: dimanche 14-04-2013 

Dimanche jest francuski na niedzielę .. Jak widać, moment.js można użyć plik językowy pomyślnie, ale nie korzysta z konfiguracji dzień tygodnia

JSfiddle z moment.js i langs. js do testu: JSFiddle

edit: mogę datę poniedziałku zamiast niedzielę day(1) zamiast startOf('week'). Ale używając day(0), nadal otrzymuję niedzielę. Dlaczego nie jest poniedziałek pierwszego dnia tygodnia, jak skonfigurowano w plikach językowych.

Odpowiedz

29

Dla każdego, kto zetknął się to pytanie ostatnio, chwila wspierać lang metodę ustalania lokalizacji konkretnego ustawienia.

Ustawianie pierwszy tydzień będzie Poniedziałek:

moment.lang('zh-cn', { 
    week : { 
     dow : 1 // Monday is the first day of the week 
    } 
}); 

var date = moment().weekday(0); // date now is the first day of the week, (i.e., Monday) 
+0

To powinno być teraz akceptowaną odpowiedzią. – ostrgard

+2

od wersji 2.8.1, powinieneś użyć 'moment.locale'. http://momentjs.com/docs/#/i18n/changing-locale/ – csvan

+1

'' moment(). week() '' to nie działa, gdy jest to wykonywane? – Sahan

-2

udało mi się tego dokonać. Użyłem kodu poniżej:

$(#id_Of_Element).daterangepicker({ 
     weekStart: 2, 

     locale: { 
      customRangeLabel: 'Custom Range', 
      daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'], 
      monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], 
      firstDay: 1 
     } 
}); 
Powiązane problemy