मैं Axios का उपयोग करके कुछ डेटा सफलतापूर्वक प्राप्त कर रहा हूं और मुझे इस डेटा को अपने Postgres डेटाबेस में संग्रहीत करने की आवश्यकता है।

प्राप्त किए गए डेटा में से एक फ़ील्ड एक pubDate फ़ील्ड है, जिसे बिल्कुल इस तरह स्वरूपित किया गया है:

"Tue, 15 Apr 2020 20:01:30 +0000"

मोमेंट डॉक्स को पढ़कर ऐसा लगता है कि यह "locale aware 'llll'" प्रारूप है।

तो, मुझे इस पबडेट को पार्स करने और इसे डिफ़ॉल्ट पोस्टग्रेस दिनांक प्रारूप के रूप में प्रारूपित करने की आवश्यकता है। तब पबडेट कुछ इस तरह दिखेगा:

"2020-04-14T20:01:30"

मैं काफी समय से इस प्रक्रिया की खोज कर रहा था और मुझे ऐसा कुछ भी नहीं मिला जो काम करे।

मैंने यह कोशिश की है (काम नहीं किया), दस्तावेज़ों से स्ट्रिंग + प्रारूप के आधार पर :

let date = moment(pubDate, 'llll').format();

मैं नोडजेएस के लिए नया हूं, क्षमा करें अगर मैंने कुछ गड़बड़ कर दी है। आपका अग्रिम में ही बहुत धन्यवाद!

0
Victor Pietro Moreno 16 अप्रैल 2020, 02:53

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा लगता है कि MomentJS के पास इसके लिए कोई डिफ़ॉल्ट फ़ंक्शन नहीं है (मुझे कहीं भी नहीं मिला), इसलिए मैंने एक बनाया है:

function parseDate (date) {
// date format: "Thu, 16 Apr 2020 18:29:49 +0000"
   date = String(date);

// date format (after , split): ["", "Day", "Abbreviated Month", "Year", "hour:minute:seconds", "+0000"]. I.E.: ["", "16", "Apr", "2020", "18:29:49", "+0000"]
   let dateInfo = String(date).split(",")[1].split(" ").slice(1, -1);

// ["Day", "Abbreviated Month", "Year", "hour:minute:seconds"]
   let dateString = dateInfo[2] + '-' + moment().month(dateInfo[1]).format("M") + '-' + dateInfo[0] + ' ' + dateInfo[3];

   const parsedDate = moment(dateString, 'YYYY-MM-DD hh:mm:ss');

   return parsedDate;
}
0
Victor Pietro Moreno 16 अप्रैल 2020, 20:35