【问题标题】:Why is that I'm getting "Invalid DateTime" in the following Luxon/Moment code?为什么我在下面的 Luxon/Moment 代码中得到“Invalid DateTime”?
【发布时间】:2018-07-04 13:49:37
【问题描述】:
const dt = DateTime.fromISO(new Date(date))
// dt => DateTime {ts: 1516876197386, zone: LocalZone, loc: Locale, invalid: "unparsable", weekData: null, …}
return dt.toFormat('yyyy/mm/dd')

结果是:Invalid DateTime。为什么会这样以及如何解决?

Luxon 的文档:https://moment.github.io/luxon/docs/class/src/datetime.js~DateTime.html#instance-method-toFormat

【问题讨论】:

    标签: javascript momentjs luxon


    【解决方案1】:

    fromISO:

    从 ISO 8601 字符串创建日期时间

    在您传递 JavaScript 日期时接受 ISO 字符串。

    你可以使用 Date 的 toISOString() 或 luxon fromJSDate

    const DateTime = luxon.DateTime;
    const dt = DateTime.fromISO(new Date().toISOString());
    console.log(dt.toFormat('yyyy/MM/dd'));
    const dt2 = DateTime.fromJSDate(new Date());
    console.log(dt2.toFormat('yyyy/MM/dd'));
    <script src="https://moment.github.io/luxon/global/luxon.min.js"></script>

    此外,请注意,您必须使用大写的MM 来打印月份,而不是代表分钟的小写mm

    【讨论】:

      【解决方案2】:

      你可以像这样使用 fromJSDate:luxon.DateTime.fromJSDate(new Date())

      【讨论】:

        猜你喜欢
        • 2013-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多