2014-09-18 4 views
10

आश्चर्य है कि पलज प्राप्त करने का कोई तरीका था या सप्ताह के हर रोज़ की सरणी बनाने के लिए शुद्ध जावास्क्रिप्ट का उपयोग करें, और दिन में हर घंटे ताकि मुझे इसे हार्डकोड न करना पड़े।सप्ताह के दिनों और दिन के घंटों के साथ सरणी बनाने के लिए पल जेएस का उपयोग करना?

तो बजाय मैन्युअल

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

कर मैं विशेष रूप से दिन के दौरान समय के लिए की तरह

weekArray = moment.js(week) 

एक ही विचार कुछ करने के लिए एक तरह से तलाश कर रहा हूँ, इसलिए मैं अलग-अलग इस्तेमाल कर सकते हैं प्रारूपों।

उत्तर

29

काम करने के दिन के लिए, आप इस्तेमाल कर सकते हैं moment's weekdays method

weekArray = moment.weekdays() 
+2

के साथ एक्सेस करें क्या यह लोकेल के साथ करना संभव है? – ilyo

+1

@ilyo हाँ, उदा। moment.localeDate ('en')। काम करने के दिन() –

0

यहाँ Moment.js से (भाषा-विशिष्ट) सप्ताह के दिनों के नाम प्राप्त करने के लिए एक छोटा स्निपेट है:

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" ] 

आप सप्ताह सोमवार को शुरू करने के लिए, moment(i+1, 'e') साथ moment(i, 'e') की जगह चाहते हैं।

+1

एक छोटा रास्ता के लिए

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

चेक Moment.js documentation: उदा शो 'dddd' होगा 'चलो दिन = moment.weekdays(); days.push (days.shift()); moment.euweekdays = days; 'और फिर इसे' moment.euweekdays' – user3743266

0

मैं इस समाधान का उपयोग करें:

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

मुझे मिल गया परिणाम:

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

आप .format (स्ट्रिंग) को संशोधित कर सकते हैं करने के लिए दिन प्रारूप बदलें। और अधिक उन्नत प्रारूप

संबंधित मुद्दे