繁体   English   中英

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

[英]How to convert PostgreSQL time without time zone to date in JavaScript?

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

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

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

如果涉及到这一点,我只想使用正则表达式并提取各部分,将其转换为毫秒,然后使用Date()对象,但是我不确定如何考虑浮点部分确保它具有重要意义。

甚至7个参数的new Date()构造函数都期望第二个参数是一个月索引,我不知道。

因此,一个JS库可以或我想知道有关如何将这些部分转换成时间戳的数学方法。 其余的都是微不足道的。 提前致谢。

实际上,没有直接的方法可以为SSS及时解析多于3位的数字。 供大家参考,有一个问题与时刻打开这里

你需要这样的东西吗?

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/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM