Luxon - 为 toISO() 设置毫秒
Luxon - set milliseconds for toISO()
我正在使用以下方法获取来自日期选择器的日期的结束时间:
var date = DateTime.fromISO('2018-05-05').endOf('day');
我想要结束的是
"2018-05-05T23:59:59+02:00"
但是,我无法摆脱毫秒:
console.log(date.toISO({suppressMilliseconds: true}));
// => outputs "2018-05-05T23:59:59.999+02:00"
除了简单地将 millisecond
设置为 0 之外,还有更优雅的方法吗:
date.c.millisecond = 0;
console.log(date.toISO({suppressMilliseconds: true}));
// => outputs "2018-05-05T23:59:59+02:00"
对,suppressMilliseconds
仅在它们为 0 时适用。(参见 here)。
但是有一个更简单的方法来舍入第二个:
DateTime.fromISO('2018-05-05')
.endOf('day')
.startOf('second')
.toISO({ suppressMilliseconds: true })
你永远不应该像你的解决方法那样改变 Luxon 对象。
我的做法:
DateTime.now().toISO().replace(/\.\d{0,3}/, "");
使用 RegExp 删除“.”和毫秒
我有
2021-02-22T18:03:29.519Z
用替换RegExp
2021-02-22T18:05:44Z
const { DateTime } = require("luxon");
let time = DateTime.now().set({milliseconds: 0});
time = time.toISO({suppressMilliseconds: true});
console.log(time);
应该可以帮助解决问题。
我正在使用以下方法获取来自日期选择器的日期的结束时间:
var date = DateTime.fromISO('2018-05-05').endOf('day');
我想要结束的是
"2018-05-05T23:59:59+02:00"
但是,我无法摆脱毫秒:
console.log(date.toISO({suppressMilliseconds: true}));
// => outputs "2018-05-05T23:59:59.999+02:00"
除了简单地将 millisecond
设置为 0 之外,还有更优雅的方法吗:
date.c.millisecond = 0;
console.log(date.toISO({suppressMilliseconds: true}));
// => outputs "2018-05-05T23:59:59+02:00"
对,suppressMilliseconds
仅在它们为 0 时适用。(参见 here)。
但是有一个更简单的方法来舍入第二个:
DateTime.fromISO('2018-05-05')
.endOf('day')
.startOf('second')
.toISO({ suppressMilliseconds: true })
你永远不应该像你的解决方法那样改变 Luxon 对象。
我的做法:
DateTime.now().toISO().replace(/\.\d{0,3}/, "");
使用 RegExp 删除“.”和毫秒 我有
2021-02-22T18:03:29.519Z
用替换RegExp
2021-02-22T18:05:44Z
const { DateTime } = require("luxon");
let time = DateTime.now().set({milliseconds: 0});
time = time.toISO({suppressMilliseconds: true});
console.log(time);
应该可以帮助解决问题。