2014-07-14 9 views
7

हम नई तारीख()। ToISOString() का उपयोग कर आईएसओ प्रारूप में प्रत्येक दिनांक डेटा स्टोर करते हैं।node.js ISOString दिनांक को पार्स नहीं कर सकता है?

मैंने इस आईएसओ स्वरूपित दिनांक को node.js में दिनांक वस्तु में बदलने की कोशिश की लेकिन मुझे अमान्य तिथि प्रतिक्रिया मिली।

दिनांक स्ट्रिंग isoDate = 2014-07-09T14:00:00.000Z है और मैं Date.parse(isoDate); और new Date(isoDate); पर console.log किया, लेकिन प्रत्येक NaN और Invalid Date देता है।

मैंने जांच की है कि दिनांक स्ट्रिंग में कोई अदृश्य गलत चरित्र है लेकिन वे ठीक हैं और ब्राउज़र कंसोल पर परिवर्तित किए जा सकते हैं।

क्या इसका मतलब है कि मुझे मैन्युअल रूप से स्ट्रिंग को कन्वर्ट करने और पार्स स्ट्रिंग के साथ डेट ऑब्जेक्ट बनाने की आवश्यकता है?

पढ़ने के लिए धन्यवाद।

+0

वर्क्स बस यहाँ ठीक ... क्या आप वाकई isoDate एक स्ट्रिंग है कर रहे हैं? (और नहीं - उदाहरण के लिए - एक बफर) – Bart

+0

हां बस टाइपिंग जांच करता है यह स्ट्रिंग कहता है। क्या यह संस्करण विशिष्ट हो सकता है? हम इस समय 0.10.2 9 का उपयोग कर रहे हैं। –

+0

मैं एक ही संस्करण का उपयोग कर रहा हूँ। किसी भी मामले में, इसे नोड के किसी भी संस्करण में काम करना चाहिए ... – Bart

उत्तर

1

moment लाइब्रेरी का उपयोग करने का प्रयास करें। इसमें तिथियों के साथ काम करने के लिए बहुत सारी कार्यक्षमता है और आसानी से क्लाइंट और सर्वर दोनों तरफ इस्तेमाल किया जा सकता है। कॉलिंग moment("2014-07-09T14:00:00.000Z").toDate() इस लाइब्रेरी का उपयोग करके आपकी स्ट्रिंग को एक तिथि जावास्क्रिप्ट ऑब्जेक्ट में बदल देगा।

0

मैं इस जवाब को पोस्ट कर रहा हूं अगर किसी को ऐसा लगता है जैसे मैंने किया।

मेरे लिए क्या हुआ मैंने सोचा कि मैं ब्राउज़र

{ 
    startDate: date.startDate 
} 

जो वास्तव में मैं पैरामीटर

के रूप में एक पल उदाहरण भेज रही थी जब मैं नेटवर्क निरीक्षक मैंने पाया में जाँच से एक ISOString भेज रहा था है बाहर है कि डेटा भेजा जा रहा आईएसओ प्रारूप में है - हाँ, लेकिन यह दोहरे उद्धरण "" में संलग्न है

{ 
    startDate: "2016-12-31T16:00:00.000Z" 
} 

इसे डबल qoutes और shou में संलग्न नहीं किया जाना चाहिए इस

{ 
    startDate: 2016-12-31T16:00:00.000Z 
} 

क्या मेरे लिए काम किया जैसे ld नज़र iso स्ट्रिंग के लिए पल पार्स करने के लिए है

{ 
    startDate: date.startDate.toISOString() 
} 
संबंधित मुद्दे