Moment.js 如何获得当前时间的零时时间

有这么一个需求。

假设当前我们时间戳的时间为:2021-11-16T18:00:17.095Z

我们希望获得当前时间戳所在的零时的时间为:2021-11-16T18:00:17.095Z

解决方案

Moment.js 非常贴心的提供了一个 startOf('days') 来帮你解决这个问题。

考察下面的代码:

moment(1637085617095).utc().startOf('days').toISOString() 就可以获得你想要的时间了。

Moment.js 为我们提供了非常好的解决方案。

除此之外,你还可以有下面的一些选择.

moment().startOf('year');    // 设置为今年一月1日上午 12:00
moment().startOf('month');   // 设置为本月1日上午 12:00
moment().startOf('quarter');  // 设置为当前季度的开始,即每月的第一天上午 12:00
moment().startOf('week');    // 设置为本周的第一天上午 12:00
moment().startOf('isoWeek'); // 根据 ISO 8601 设置为本周的第一天上午 12:00
moment().startOf('day');     // 设置为今天上午 12:00
moment().startOf('date');     // 设置为今天上午 12:00
moment().startOf('hour');    // 设置为当前时间,但是 0 分钟、0 秒钟、0 毫秒
moment().startOf('minute');  // 设置为当前时间,但是 0 秒钟、0 毫秒
moment().startOf('second');  // 与 moment().milliseconds(0); 相同