2012-07-14 12 views
21

मोंगोडब में आईएसओडीएट स्वरूपण मैं आईएसओडीएटी प्रारूप में दिनांक और समय संग्रहीत कर रहा हूं।मोंगोड

कौन इस

ISODate("2012-07-14T01:00:00+01:00") 

का उपयोग NodeJS/जावास्क्रिप्ट की तरह दिखता है, मैं कैसे समय घटक प्रदर्शित कर सकते हैं तो मैं कुछ इस

Time : 01:00 

की तरह मिलता है मैं इस आसान बनाने के लिए momentjs उपयोग कर रहा हूँ, लेकिन जो क्षण मैं बता सकता हूं, वह आईएसओडीएटी प्रारूप का समर्थन करता प्रतीत होता है।

आपकी मदद के लिए धन्यवाद।

उत्तर

25

जावास्क्रिप्ट का दिनांक वस्तु आईएसओ दिनांक स्वरूप का समर्थन करता है, तो जब तक आप दिनांक स्ट्रिंग के लिए उपयोग किया है, तो आप कुछ इस तरह कर सकते हैं:

> foo = new Date("2012-07-14T01:00:00+01:00") 
Sat, 14 Jul 2012 00:00:00 GMT 
> foo.toTimeString() 
'17:00:00 GMT-0700 (MST)' 

आप सेकंड और बिना समय स्ट्रिंग चाहते हैं समय क्षेत्र तो आप डेट ऑब्जेक्ट पर getHours() और getMinutes() विधियों को कॉल कर सकते हैं और स्वयं को प्रारूपित कर सकते हैं।

+0

मैंने स्वरूपण करने के लिए पलज का उपयोग किया था, लेकिन आपको प्राप्त करने के लिए पास होना था, GetMullth, getDate, getHours और getminutes पहले ऑब्जेक्ट से इसे निकालने के द्वारा मिनटों को प्राप्त करें। – jamjam

+0

डेट कन्स्ट्रक्टर के साथ तारों का विश्लेषण न करें, यह कार्यान्वयन में बहुत असंगत है। जबकि आईएसओ प्रारूप ईएस 5 में निर्दिष्ट हैं, उपयोग में आने वाले सभी ब्राउज़र इसका समर्थन नहीं करते हैं, और इनका इलाज कैसे किया जाता है, इस पर असंगतताएं हैं। जैसे "2012-07-14T01: 00: 00 + 01: 00" को स्थानीय स्ट्रिंग के रूप में पार्स किया जाना चाहिए (यानी सिस्टम समय क्षेत्र सेटिंग्स का उपयोग करना), लेकिन "2012-07-14" को यूटीसी के रूप में पार्स किया जाना चाहिए। – RobG

28

MongoDB का ISODate() केवल एक सहायक कार्य है जो एक जावास्क्रिप्ट दिनांक ऑब्जेक्ट को लपेटता है और आईएसओ डेट स्ट्रिंग के साथ काम करना आसान बनाता है।

आप अभी भी इस तरह के रूप same methods as working with a normal JS Date के सभी, का उपयोग कर सकते हैं:

ISODate("2012-07-14T01:00:00+01:00").toLocaleTimeString() 

// Note that getHours() and getMinutes() do not include leading 0s for single digit #s 
ISODate("2012-07-14T01:00:00+01:00").getHours() 
ISODate("2012-07-14T01:00:00+01:00").getMinutes() 
1

आप इस yearMonthDayhms तरह मोंगो क्वेरी का उपयोग कर सकते हैं: {$ dateToString: {प्रारूप: "% Y-% m-% डी % एच-% एम-% एस ", दिनांक: {$ घटाएं: [" $ सीडीटी ", 14400000]}}}

घंटा मिनट: {$ दिनांक टॉस्ट्रिंग: {प्रारूप:"% एच-% एम-% एस " , तारीख: {$ घटाना: [ "$ CDT", 14400000]}}}

enter image description here

0
// from MongoDate object to Javascript Date object 

var MongoDate = {sec: 1493016016, usec: 650000}; 
var dt = new Date("1970-01-01T00:00:00+00:00"); 
    dt.setSeconds(MongoDate.sec); 
संबंधित मुद्दे