2012-03-13 17 views
14

dayNumber0..6Monday..Sunday से क्रमशः Monday..Sunday से है।जावास्क्रिप्ट में दिन संख्या से सप्ताह का दिन कैसे प्राप्त करें?

Date/String वस्तुओं का उपयोग सप्ताह के दिन dayNumber से प्राप्त करने के लिए किया जा सकता है?

+0

संभावित डुप्लिकेट [जावास्क्रिप्ट का उपयोग करके किसी विशेष तारीख से दिन कैसे प्राप्त करें] (http://stackoverflow.com/questions/495644/how-to-get-the-day-from-a-particular-date- उपयोग-जावास्क्रिप्ट) – bernie

+0

[एमडीएन तिथि()] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date) – epascarello

+0

संभावित डुप्लिकेट [जावास्क्रिप्ट: सप्ताह का दिन और महीने का महीना कैसे प्राप्त करें वे कान?] (http://stackoverflow.com/questions/4822852/javascript-how-to-get-the-day-of-week-and-the-month-of-the-year) –

उत्तर

22

यह आपको एक दिन सूचकांक के आधार पर दे देंगे आप पारित:

var weekday=new Array(7); 
weekday[0]="Monday"; 
weekday[1]="Tuesday"; 
weekday[2]="Wednesday"; 
weekday[3]="Thursday"; 
weekday[4]="Friday"; 
weekday[5]="Saturday"; 
weekday[6]="Sunday"; 
console.log("Today is " + weekday[3]); 

आउटपुट "आज गुरुवार है"

आप (इस में getDay() साथ जावास्क्रिप्ट से वर्तमान दिन सूचकांक मिल तथापि वरना कर सकते हैं विधि, रविवार 0 है, सोमवार 1 है, आदि):

var d=new Date(); 
console.log(d.getDay()); 

सोमवार को आउटपुट 1।

3
/** 
* I convert a day string to an number. 
* 
* @method dayOfWeekAsInteger 
* @param {String} day 
* @return {Number} Returns day as number 
*/ 
function dayOfWeekAsInteger(day) { 
    return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"].indexOf(day); 
} 
15

यह कोड ऊपर दिए गए अनुसार एक संशोधित संस्करण है। यह स्ट्रिंग दिन बजाय

/** 
* Converts a day number to a string. 
* 
* @method dayOfWeekAsString 
* @param {Number} dayIndex 
* @return {Number} Returns day as number 
*/ 
function dayOfWeekAsString(dayIndex) { 
    return ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"][dayIndex]; 
} 

उदाहरण

dayOfWeekAsString(0) returns "Monday" 
5

यह जावा स्क्रिप्ट दिनांक वर्ग के लिए एक प्रोटोटाइप के रूप में एक getDayOfWeek() फ़ंक्शन जोड़ देगा के लिए प्रतिनिधित्व करने देता है।

Date.prototype.getDayOfWeek = function(){ 
    return ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][ this.getDay() ]; 
}; 
27

एक और अधिक सुरुचिपूर्ण जिस तरह अगर आप उपलब्ध ECMA स्क्रिप्ट के नवीनतम संस्करण को शुरू कर रहा है के लिए चुनते हैं आप भी स्थान से काम करने के दिन दिखा सकता है, और सभी नवीनतम ब्राउज़रों और Node.js में चल रहा है:

console.log(new Date().toLocaleString('en-us', { weekday: 'long' })); 
+0

किसी को भी चेतावनी इसका उपयोग करके, यह अच्छी तरह से काम करता है, लेकिन यह पाने के लिए यह एक बहुत ही भारी तरीका है। केवल तभी उपयोग करें जब आपके पास कुछ तिथियां हों जिन्हें आपको कनवर्ट करने की आवश्यकता है और एक अलग पक्ष नोडजेज़ एप्लिकेशन पर नहीं। यदि आप इसे 10k तिथियों पर चलाते हैं, तो इसमें काफी समय लगता है और मेमोरी लीक होती है। – Omer

+0

@omer, क्या आप नोड टीम के साथ कोई समस्या खोलने के लिए गए थे? मुझे लगता है कि हम सभी इस काम से तेजी से और बिना किसी स्मृति रिसाव से लाभ उठा सकते हैं। –

+1

नहीं, मैंने अभी तक नहीं किया है, लेकिन अब मैं इसे खोलूंगा, अच्छा विचार। मैं इसे एक साधारण जबकि लूप के साथ पुन: उत्पन्न करने में कामयाब रहा जो 10k बार चलता है। मुझे यकीन नहीं है कि यह वास्तव में एक बग है या सिर्फ यह कार्य इस विशिष्ट उपयोग मामले के लिए संसाधनों पर भारी है। – Omer

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