如何在JavaScript中将没有时区的PostgreSQL时间转换为日期?

时间:2018-10-10 22:46:32

标签: javascript postgresql time date-conversion

我有一个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库可以解决我的问题,或者我想知道有关如何将这些部分转换成时间戳的数学方法。其余的都是微不足道的。预先感谢。

3 个答案:

答案 0 :(得分:0)

实际上,没有直接的方法可以为SSS及时解析多于3位的数字。供您参考,问题here

答案 1 :(得分:0)

您需要类似的东西吗?

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/

答案 2 :(得分:0)

好的。我犯傻了。我意识到TIME类型不包含日期字段。用于格式化时间的PHP函数只是假定了日期部分。此后,我现在将类型更改为TIMESTAMP

相关问题