我使用Axios成功地获取了一些数据,我需要将这些数据存储到我的Postgres数据库中。
提取的数据中的一个字段是pubDate字段,其格式如下所示:
"Tue, 15 Apr 2020 20:01:30 +0000"
通过Moment docs阅读,这似乎就是这种"locale aware 'llll'“格式。
所以,我需要解析这个pubDate,并将其格式化为默认的Postgres日期格式。然后,pubDate将如下所示:
"2020-04-14T20:01:30"我已经寻找这个过程很长一段时间了,只是不能找到任何可以工作的东西。
我试过了(不起作用),based on the String + Format from docs
let date = moment(pubDate, 'llll').format();我是NodeJS的新手,如果我把事情搞砸了,很抱歉。提前谢谢你!
发布于 2020-04-17 04:35:14
看起来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;
}https://stackoverflow.com/questions/61240482
复制相似问题