我有一个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库可以解决我的问题,或者我想知道有关如何将这些部分转换成时间戳的数学方法。其余的都是微不足道的。预先感谢。
答案 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
答案 2 :(得分:0)
好的。我犯傻了。我意识到TIME
类型不包含日期字段。用于格式化时间的PHP函数只是假定了日期部分。此后,我现在将类型更改为TIMESTAMP
。