2014-09-18 7 views
10

Moment almak için bir yol olup olmadığını merak etmek veya sadece haftanın her günü bir dizi oluşturmak için saf javascript kullanın ve bir gün içinde her saat, bu yüzden bunu hardcode zorunda değilsiniz.Haftanın günleri ve günün saatleri ile bir dizi oluşturmak için anı js kullanarak?

Yani yerine elle Özellikle gündüzleri kez

weekArray = moment.js(week) 

Aynı düşünce gibi bir şey yapmak için bir yol arıyorum, bu yüzden potansiyel olarak farklı kullanabilir

weekArray = ["Monday", "Tuesday", "Wednesday" ....] 

yapıyor biçimleri.

cevap

29

, gün biçimini değiştir. Daha gelişmiş biçimi

+2

Bir yerel ayar ile yapmak mümkün mü? – ilyo

+1

@ilyo evet, ör. moment.localeDate ('en'). hafta içi() –

0

İşte Moment.js haftanın günleri (yerel özgü) adlarını almak için biraz parçacık İşte:

var weekdayNames = Array.apply(null, Array(7)).map(
    function (_, i) { 
     return moment(i, 'e').format('dddd'); 
    }); 
console.log(weekdayNames); 
// Array [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ] 

Eğer hafta, Pazartesi günü başlayacak moment(i+1, 'e') ile moment(i, 'e') değiştirmek istiyorsanız.

var defaultWeekdays = Array.apply(null, Array(7)).map(function (_, i) { 
    return moment(i, 'e').startOf('week').isoWeekday(i + 1).format('ddd'); 
}); 

aldığım sonuç:

["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] 

Sen .format (dize) değiştirin edebilir Sizin bu çözümü kullanmak moment's weekdays method

weekArray = moment.weekdays() 
+1

Daha kısa bir yol için

["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] 

kontrol Moment.js documentation: Örn gösterileri olacak 'dddd' '(gün = moment.weekdays izin); days.push (days.shift()); moment.euweekdays = days; 've sonra' moment.euweekdays' ile erişebilirsiniz. – user3743266

0

kullanabilirsiniz

hafta içi için