2013-07-03 11 views
5

मैं एक स्क्रिप्ट मिल गया है जारी करता है और मैं कम दिनांक स्वरूप यानी के लिए बाहर एक तिथि स्वरूपित करना चाहते हैं:toLocaleDateString जावास्क्रिप्ट दिनांक स्वरूप

7/3/2013 या 7/3/13 पहली तारीख प्रारूप इस तरह renders क्रोम में लेकिन यह हर दूसरे ब्राउज़र नहीं करता है - यह दिनांक महीने का नाम और वर्ष प्रदर्शित करता है।

function dateFormatter(date) { 
    return date.toLocaleDateString(); 
} 

बिट यह भ्रमित हो रहा है कि यह क्यों हो रहा है। ऐसा इसलिए है क्योंकि वह ब्राउज़र tolocalDateString() का समर्थन नहीं करता है;

क्या मुझे काम करने के लिए कस्टम दिनांक स्ट्रिंग बनाने की आवश्यकता होगी?

क्षमा करें अगर यह थोड़ा अस्पष्ट है - मैंने डब्ल्यू 3 सी वेबसाइट पर एक नज़र डाली है लेकिन कभी-कभी उस साइट पर भरोसा नहीं करती है।

उत्तर

2
function dateFormatter(date){ 
    if(Date.parse('2/6/2009')=== 1233896400000){ 
     return [date.getMonth()+1, date.getDate(), date.getFullYear()].join('/'); 
    } 
    return [date.getDate(), date.getMonth()+1, date.getFullYear()].join('/'); 
} 
+7

यह लोकेल-जागरूक नहीं है ... – Koterpillar

+0

@kennebec जो पूरी तरह से काम करता है। मैंने इस तरह कुछ करने की कोशिश की लेकिन ईमानदार होने के लिए मैंने बस इसे गड़बड़ कर दिया। लेकिन हाँ, जो आसानी से काम किया। चीयर्स। – MJCoder

+1

@kennebec, अगर स्थिति के साथ क्या है, तो हमें इस अजीब 2/6/2009 दिनांक की जांच क्यों की आवश्यकता है? –

9

toLocaleDateString का डिफ़ॉल्ट प्रारूप कार्यान्वयन-परिभाषित है। यदि आप प्रदर्शित होने के सटीक नियंत्रण चाहते हैं, तो locales and options arguments से toLocaleDateString पर समर्थित ब्राउज़र का उपयोग करें। दुर्भाग्यवश, फिलहाल इसका मतलब केवल क्रोम है।

यदि आपको उपयोगकर्ता और उनके लोकेल की परवाह नहीं है और हम सभी को अमेरिकी दिनांक प्रारूप के साथ भ्रमित करना चाहते हैं, तो हाँ, आप तिथि भागों को @kennebec के रूप में हार्डकोड कर सकते हैं।

+0

विकल्पों के तर्क का उल्लेख करने के लिए धन्यवाद। – Tony

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