[英]How to round to nearest hour and minutes by incremment in JavaScript without using moment.js?
预期结果
回合时间 :15分钟
给定时间10:00 =>舍入到:10:00
给出时间10:13 =>回合:10:15
给出时间10:15 =>回合:10:15
鉴于时间10:16 =>回合:10:30
给定时间16:00 =>舍入到:16:00
鉴于时间16:12 =>回合:16:15
舍入时间因用户输入而异
mycode的
var m = (((minutes + 7.5)/roundOffTime | 0) * roundOffTime) % 60;
var h = ((((minutes/105) + .5) | 0) + hours) % 24;
电流输出
给定时间:08:22 =>回合:08:15
给定时间:08:23 =>回合:08:30
需要四舍五入的时间应该是递增顺序
您可以花费所有分钟并除以15
以获得整个季度并将结果乘以15
。 然后花费数小时和分钟并应用格式。 返回连接值。
function roundMinutes(t) { function format(v) { return v < 10 ? '0' + v: v; } var m = t.split(':').reduce(function (h, m) { return h * 60 + +m; }); m = Math.ceil(m / 15) * 15; return [Math.floor(m / 60), m % 60].map(format).join(':'); } var data = ['10:00', '10:13', '10:15', '10:16', '16:00', '16:12', '16:55']; console.log(data.map(roundMinutes));
试试这个 :
var coeff = 1000 * 60 * 5; var date = new Date(); //or use any other date console.log(date); var rounded = new Date(Math.round(date.getTime() / coeff) * coeff); console.log(rounded);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.