首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在JavaScript中将不带时区的PostgreSQL时间转换为日期?

如何在JavaScript中将不带时区的PostgreSQL时间转换为日期?
EN

Stack Overflow用户
提问于 2018-10-11 06:46:32
回答 3查看 934关注 0票数 1

我有一个REST API端点,它使用我正在查询的PostgreSQL,其中一个字段是time without time zone。端点将字段作为人类可读的字符串返回,如20:33:32.221397

我想在前端使用JavaScript将其转换为另一个字符串,如October 10, 2018 23:16,但Date()对象不支持此格式。

我试过moment.js,它抛出一个异常,说格式不符合RFC格式。

如果是这样的话,我只想使用正则表达式并提取部分,将其转换为毫秒,然后使用Date()对象,但我不确定如何解释浮点部分,因为我确定它具有重要意义。

即使是7个参数的new Date()构造函数也希望第二个参数是月份索引,我不知道这一点。

所以,一个JS库就可以了,或者我想知道如何将这些部分转换为时间戳的数学原理。剩下的都是微不足道的。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2018-10-11 07:43:17

实际上,没有直接的方法可以及时为SSS解析超过3位的数字。供您参考,moment here有一个未解决的问题

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 10:32:13

你需要这样的东西吗?

代码语言:javascript
复制
function convertTime(apiTime) {
  var chunked = apiTime.split(":");

  var date = new Date();
  date.setHours(chunked[0]);
  date.setMinutes(chunked[1]);

  return moment(date).format('MMMM DD, YYYY H:mm');
}

convertTime("20:33:32.221397") // October 10, 2018 20:33

这是一个沙箱:https://jsfiddle.net/hxmrs92q/3/

票数 0
EN

Stack Overflow用户

发布于 2018-10-11 14:34:21

好吧。我是个笨蛋。我意识到TIME类型不带日期字段。设置时间格式的PHP函数简单地采用了日期部分。现在,我已经将我的类型更改为TIMESTAMP

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52749785

复制
相关文章

相似问题

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