Javascript:使用Moment js的自定义日期/时间格式返回“无效日期”

时间:2019-01-25 01:12:32

标签: javascript momentjs

我有一个时间值10:30:00,我想使用momentjs将其转换为10:30 AM,但是我得到的是“无效日期”。

我的代码当前如下所示:

var time = '10:30:00';

var formattedTime = moment(time).format("hh:mm A");

console.log(formattedTime); // Invalid date

1 个答案:

答案 0 :(得分:1)

这是由于输入时间字符串'10:30:00'的格式与moment()直接兼容的any of the supported string formats不匹配。

不过,您可以通过将自定义模式作为第二个参数传递给moment()(在您的情况下为模式'hh:mm:ss')来specify a custom format pattern来实现您的要求:

moment('10:30:00', 'hh:mm:ss')

考虑如下所示修改代码:

var time = '10:30:00';
var formattedTime = moment(time, 'hh:mm:ss') /* <-- specify a custom pattern */
.format("hh:mm A");

console.log(formattedTime);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>