首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MomentJS将“llll”语言环境感知的格式化数据解析为Postgres默认日期格式

使用MomentJS将“llll”语言环境感知的格式化数据解析为Postgres默认日期格式
EN

Stack Overflow用户
提问于 2020-04-16 07:53:37
回答 1查看 20关注 0票数 0

我使用Axios成功地获取了一些数据,我需要将这些数据存储到我的Postgres数据库中。

提取的数据中的一个字段是pubDate字段,其格式如下所示:

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

通过Moment docs阅读,这似乎就是这种"locale aware 'llll'“格式。

所以,我需要解析这个pubDate,并将其格式化为默认的Postgres日期格式。然后,pubDate将如下所示:

代码语言:javascript
复制
"2020-04-14T20:01:30"

我已经寻找这个过程很长一段时间了,只是不能找到任何可以工作的东西。

我试过了(不起作用),based on the String + Format from docs

代码语言:javascript
复制
let date = moment(pubDate, 'llll').format();

我是NodeJS的新手,如果我把事情搞砸了,很抱歉。提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-17 04:35:14

看起来MomentJS没有为此提供默认函数(我在任何地方都找不到),所以我创建了一个:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61240482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档