javascript - 为什么我在以下 Luxon/Moment 代码中得到 "Invalid DateTime"?

标签 javascript momentjs luxon

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')

结果是:无效的日期时间。这是为什么以及如何解决它?

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

最佳答案

fromISO :

Create a DateTime from an ISO 8601 string

在传递 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

关于javascript - 为什么我在以下 Luxon/Moment 代码中得到 "Invalid DateTime"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440739/

相关文章:

javascript - 使用带矩的 Handlebars 模板

javascript - 使用 moment js 将 12 小时 (AM/PM) 字符串转换为 24 日期对象

javascript - 对象属性在单独打印后看起来有所不同

luxon - 如何使用 luxon 库将毫秒转换为分钟

javascript - 这个指数分布采样器在密码学上是安全的吗?

javascript - 如何在 Moment.js 中设置默认偏移量?

javascript - 查找嵌套数组中的每个第一个数组

javascript - 使用 Luxon 格式化 ISO 时间

javascript - 在语义 UI React 表单输入中仅允许数字

javascript - RequireJS 是否异步加载文件?