首页 > 解决方案 > 使用 MomentJS 的 Javascript 中的无效日期

问题描述

MomentJS 不断为以下值打印无效日期:Time: '2018-01-01T00:01:01.001+01:00',它是 Object 的一部分loraContent

我目前这样称呼它: var formatted = moment(loraContent.Time, "yyyy-mm-ddThh:mm:ss.sss+01:00").format("hh:mm A");

记录formatted控制台时返回“无效日期”

标签: javascriptexpresshandlebars.jsmomentjs

解决方案


您应该使用大写字母来表示年、月和日标记 ( docs ):

let time = '2018-01-01T00:01:01.001+01:00'

let formatted = moment(time, "YYYY-MM-DDThh:mm:ss.sss+01:00").format("hh:mm A");

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

似乎 v2.5.1 与小写保持了一些兼容性。


推荐阅读