gpt4 book ai didi

javascript - 向上/向下舍入 momentjs 时刻到最近的分钟

转载 作者:IT王子 更新时间:2023-10-29 03:00:01 25 4
gpt4 key购买 nike

如何向上舍入/向下舍入 momentjs时刻到最近的分钟?

我检查了 docs ,但似乎没有解决此问题的方法。

请注意,我不希望字符串四舍五入到最接近的分钟,我希望返回一个 moment(或就地修改,两者都可以)。我宁愿不必转换为字符串,也不必转换回来。

谢谢。


根据要求,这里是一些代码:

var now = new moment(new Date());

if (now.seconds() > 0) {
now.add('minutes', -1);
}

now.seconds(0);

如您所见,我已经成功地在此处手动舍入了时间,但它看起来相当老套。以更优雅的方式完成此操作。

最佳答案

要四舍五入,需要加一分钟然后round it down .要向下舍入,只需使用 startOf 方法。

请注意使用三元运算符来检查时间是否应该四舍五入(例如,点上的 13:00:00 不需要四舍五入)。

四舍五入到最接近的分钟数

var m = moment('2017-02-17 12:01:01');
var roundDown = m.startOf('minute');
console.log(roundDown.toString()); // outputs Tue Feb 17 2017 12:01:00 GMT+0000

var m = moment('2017-02-17 12:01:01');
var roundUp = m.second() || m.millisecond() ? m.add(1, 'minute').startOf('minute') : m.startOf('minute');
console.log(roundUp.toString()); // outputs Tue Feb 17 2017 12:02:00 GMT+0000

四舍五入到最接近的小时数

var m = moment('2017-02-17 12:59:59');
var roundDown = m.startOf('hour');
console.log(roundDown.toString()); // outputs Tue Feb 17 2017 12:00:00 GMT+0000

var m = moment('2017-02-17 12:59:59');
var roundUp = m.minute() || m.second() || m.millisecond() ? m.add(1, 'hour').startOf('hour') : m.startOf('hour');
console.log(roundUp.toString()); // outputs Tue Feb 17 2017 13:00:00 GMT+0000

关于javascript - 向上/向下舍入 momentjs 时刻到最近的分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17691202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com