【发布时间】:2016-10-26 07:07:50
【问题描述】:
我从我的后端服务获得这个值:171054。它代表hh:mm:ss。但是当我使用文档中的格式选项时,它会返回00:00:00。
我尝试过的事情:
moment('171054').format('hh-mm-ss')
moment('171054').format('HH-mm-ss')
moment('171054').format('HH-MM-SS')
【问题讨论】:
标签: momentjs
我从我的后端服务获得这个值:171054。它代表hh:mm:ss。但是当我使用文档中的格式选项时,它会返回00:00:00。
我尝试过的事情:
moment('171054').format('hh-mm-ss')
moment('171054').format('HH-mm-ss')
moment('171054').format('HH-MM-SS')
【问题讨论】:
标签: momentjs
您将 format 选项与解析选项混淆了。由于您的输入字符串不是 ISO 8601 格式,您必须specify format when parsing。
这是您的用例的工作示例:
var mom = moment('171054', 'HHmmss');
console.log(mom.format());
console.log(mom.format('HH:mm:ss'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.1/moment.min.js"></script>
【讨论】:
我不确定 momentjs 是否可以将其读取为日期,因为没有标识符。我建议更改值,例如您有 171054,获取每 2 位数字,因为您确定这表示为 hh:mm:ss 然后在 then 之间添加标识符,如“:”或“-”,然后再次尝试我们的 momentjs 格式。
【讨论】: