2011-09-16 13 views
12

मैं अपने मोंगो डेटाबेस से प्राप्त होने वाली तिथियों के प्रारूप को बदलने की कोशिश कर रहा हूं। वर्तमान में वे इस तरह दिखेगा:मैं मोंडोज से नोड.जेएस में तिथियों को कैसे प्रारूपित करूं?

Fri Sep 16 2011 19:05:17 GMT+0900 (JST) 

मैं कोशिश की उन्हें लेकिन कुछ भी परिवर्तन पर .toString('yyyy-MM-dd') बुला लिया है। मुझे नहीं पता कि वे Date ऑब्जेक्ट्स या सिर्फ कच्चे तार हैं या नहीं।

मैंने मोंगोस मैनुअल की जांच करने और गुच्छा को गुगल करने की कोशिश की है, लेकिन अभी तक कुछ भी नहीं मिला है।

कोई विचार?

उत्तर

13

आप एक दिनांक वस्तु पहले बनाने के लिए:

var date = new Date(dateStr); // dateStr you get from mongodb 

var d = date.getDate(); 
var m = date.getMonth()+1; 
// ... 
6

क्या की तरह अपने स्कीमा को परिभाषित करने के बारे में:

var someSchema = new Schema({ 
    title: String, 
    created: Date 
}); 

s.t. तिथि आपके mongoDB में Date ऑब्जेक्ट के रूप में संग्रहीत की जाती है। नतीजतन, जब आप इसे वापस पढ़ते हैं तो आपके पास उचित Date ऑब्जेक्ट होगा जिस पर आप उपलब्ध विधियों के साथ काम कर सकते हैं।

+0

वह पागल-प्रतिभा की तरह लगता है। मुझे इसे आज़मा देना होगा। –

+0

@ बेन हम्फ्रीस ने मेरे लिए काम किया :) – Juri

13

ऐसा करने का एक आधुनिक तरीका momentjs का उपयोग करना है, दोनों नोड और ब्राउज़र में उपयोग करने योग्य, उपयोग करने के लिए बहुत उपयोगी और सरल है। वर्तमान समस्या के लिए मैं सभी डॉक्स आवश्यकताओं पालन करने के बाद नोड में इस तरह इसे हल:

var moment = require('moment'); 
var fomatted_date = moment(photo.date_published).format('YYYY-DD-MM'); 

photo.date_published के साथ सीधे नेवला से आ रही।

+0

'वाई वाई वाई-डीडी-एमएम' 'YYYY-MM-DD 'होना चाहिए –

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