我有一个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库就可以了,或者我想知道如何将这些部分转换为时间戳的数学原理。剩下的都是微不足道的。提前谢谢。
发布于 2018-10-11 07:43:17
实际上,没有直接的方法可以及时为SSS解析超过3位的数字。供您参考,moment here有一个未解决的问题
发布于 2018-10-11 10:32:13
你需要这样的东西吗?
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
发布于 2018-10-11 14:34:21
好吧。我是个笨蛋。我意识到TIME
类型不带日期字段。设置时间格式的PHP函数简单地采用了日期部分。现在,我已经将我的类型更改为TIMESTAMP
。
https://stackoverflow.com/questions/52749785
复制相似问题