gpt4 book ai didi

javascript - 如何在 JavaScript 中将时间舍入到最接近的四分之一小时?

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

例如:

Given time: 08:22 => Rounded to: 08:15

Given time: 08:23 => Rounded to: 08:30

应该很简单。但是我所能产生的只是冗长的代码,不是很好的解决问题的代码。我的大脑一片空白。

问候

最佳答案

鉴于您在变量中有小时和分钟(如果没有,您可以通过使用 Date 实例 functionsDate 实例中获取它们):

var m = (parseInt((minutes + 7.5)/15) * 15) % 60;
var h = minutes > 52 ? (hours === 23 ? 0 : ++hours) : hours;

分钟也可以使用 Math.round() 计算:

var m = (Math.round(minutes/15) * 15) % 60;

或者在没有任何函数的情况下用更复杂的 javascript 表达式来实现:

var m = (((minutes + 7.5)/15 | 0) * 15) % 60;
var h = ((((minutes/105) + .5) | 0) + hours) % 24;

您可以检查显示 Math.round() 的 jsPerf 测试是三个中最慢的,而主要是最后一个是最快的,因为它只是一个没有任何函数调用的表达式(没有函数调用开销,即堆栈操作,尽管原生函数在 Javascript VM 中的处理方式可能有所不同)。//----

关于javascript - 如何在 JavaScript 中将时间舍入到最接近的四分之一小时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4968250/

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