javascript:获取时间间隔的数量级
我正在编写一个需要条形图的应用程序,其在x轴上的装箱与所显示事件之间的平均时间距离的数量级有关 例如,我要显示的事件中的平均时间距离可能是73秒。这意味着相对于所显示的条形图的箱子大小应为一分钟 输入间隔的持续时间(以秒为单位)和推断的数量级的其他示例包括:javascript:获取时间间隔的数量级,javascript,date,datetime,time,momentjs,Javascript,Date,Datetime,Time,Momentjs,我正在编写一个需要条形图的应用程序,其在x轴上的装箱与所显示事件之间的平均时间距离的数量级有关 例如,我要显示的事件中的平均时间距离可能是73秒。这意味着相对于所显示的条形图的箱子大小应为一分钟 输入间隔的持续时间(以秒为单位)和推断的数量级的其他示例包括: 3秒:1秒 327秒:一分钟(或可能是5分钟) 5298秒:一小时 7625秒:(可能)两小时 10234秒:一天 4023860秒:一个月 等等。我试图查看这个库,我发现他们实现了一些非常有趣的东西: 请注意,我还对前面已经说明的每个
- 3秒:1秒
- 327秒:一分钟(或可能是5分钟)
- 5298秒:一小时
- 7625秒:(可能)两小时
- 10234秒:一天
- 4023860秒:一个月
我知道我可以通过一系列测试(带rest的分割)来实现它,但我想重新发明(可能有缺陷的)轮子。最后,我用以下简单的函数实现了一个解决方案:
function compute_magnitude_interval(average_interval) {
var minute = 60;
var hour = minute*60;
var day = hour*24;
var possible_intervals = [
1, 2, 5, 10, 20, 30,
minute, minute*2, minute*5, minute*10, minute*20, minute*30,
hour, hour*2, hour*5, hour*10, hour*12,
day, day*2, day*5, day*10, day*15
].reverse();
for(var i in possible_intervals){
var seconds = possible_intervals[i];
if (Math.floor(average_interval/seconds) > 0) {
return seconds;
}
};
}