2013-02-09 11 views
5

जब मैं ब्राउज़र में toLocaleDateString का उपयोग यह रिटर्नदिनांक toLocaleDateString

n = new Date() 
n.toLocaleDateString() 
"2/10/2013" 

लेकिन Node.js में प्रारूप पूरी तरह से अलग

n = new Date() 
> n.toLocaleDateString() 
'Sunday, February 10, 2013' 

कैसे नोड में ब्राउज़र के प्रारूप (mm/dd/yy) प्राप्त करने के लिए है .js?

उत्तर

2
Date.prototype.toLocaleDateString = function() { 
    var d = new Date(); 
    return (d.getMonth() + 1) + "/" + d.getDate() + "/" + d.getFullYear(); 
}; 
+2

अपने एकमात्र समाधान प्रोटोटाइप अधिलेखित करने के लिए है, तो आप शायद सिर्फ एक कस्टम प्रारूप अनुवाद विधि बजाय लिखना चाहिए। – jennz0r

-3

नोड में। जेएस आप ब्राउज़र का प्रारूप नहीं प्राप्त कर सकते हैं। नोड.जेएस सर्वर-साइड पर चलता है।

आप अपने ग्राहक के पक्ष जे एस ढांचे पर ब्राउज़र में यह प्रदर्शित करने से पहले दिनांक प्रारूपण करना है।

+0

कि एक डिफ़ॉल्ट (बस के रूप में यह समय क्षेत्रों के साथ करता है) को निर्दिष्ट करने से या आप एक स्थान ('toLocaleDateString' के पहले पैरामीटर) निर्दिष्ट करने की अनुमति से सर्वर रोकता नहीं है। – mattbasta

+5

यह मेरे सर्वर (नोड 0.10.28) पर बिल्कुल काम नहीं कर रहा है। मैं जो भी मूल्य 'toLocaleDateString' को देता हूं, यह अभी भी अमेरिकी अंग्रेज़ी प्रारूप में ouputs ... –

3

मैं भी इस node.JS. में टूट पाया उदाहरण के लिए, नोड कंसोल में,

new Date().toLocaleDateString('en-GB') 

यह अभी भी यूएस प्रारूप प्रदर्शित करता है। ऊपर वर्नर की विधि का उपयोग करके आप अपने स्थान के लिए डिफ़ॉल्ट Date.toLocaleDateString() व्यवहार को ओवरराइड कर सकते हैं:

Date.prototype.toLocaleDateString = function() { 
    return `${this.getDate()}/${this.getMonth() + 1}/${this.getFullYear()}`; 
}; 
0

मेरे लिए, समाधान के लिए node js full-icu-npm

एक अतिरिक्त मॉड्यूल full-icu स्थापित करने के लिए था और पैकेज में के बाद .json डालने:

{"scripts":{"start":"node --icu-data-dir=node_modules/full-icu YOURAPP.js"}} 
संबंधित मुद्दे