最近做个项目,有这样一个需求,例如当前时间是11:21,那么我需要获取到11:25这个时间,不知道是我描述有问题,我没有在网上搜到我想要的js代码,所有我就自己手写了一个。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="js/helper.js" type="text/javascript"></script>
</head>
<body>
</body>
<script>
window.onload = function () {
console.log(handlerTime());
}
var handlerTime = function () {
var date = new Date();
var hour = date.getHours();
var minute = date.getMinutes().toString();
if(minute.length === 2){
var subMin = minute.substring(1);
var intMin = parseInt(subMin);
if(intMin >=5 && intMin <10){
subMin = 0;
minute = parseInt(minute.substring(0,1))+1;
if(minute === 6){
minute = '00';
hour = new Date().addHours(1).getHours();
}else{
minute += subMin;
}
}else {
subMin = 5;
minute = parseInt(minute.substring(0,1))+''+subMin;
}
}else {
var intMin = parseInt(minute)
if(intMin >=5 && intMin <10){
minute = '10'
}else {
minute = '05';
}
}
console.log('hour='+date.getHours());
console.log('minute='+date.getMinutes().toString().length)
console.log('second=' + date.getSeconds())
console.log('*************************************')
return 'time='+ hour+':'+minute+':'+'00';
}
</script>
</html>
这是我的页面,
用到的help.js中的内容是这个,重写了添加小时方法
Date.prototype.addHours = function (h) { this.setTime(this.getTime() + (h * 60 * 60 * 1000)); return this; }
上面代码能够根据当前时间换回下一个五分钟时间点时间,可能还有些问题,有兴趣的可以试试