function transTime(date,interv){
const arr=[]
let n=0;
for(let i=0;i<60;i+=interv){
arr.push(i)
}
for (let i = 0; i < arr.length; i++) {
let min=date.getMinutes()
if(arr[i]<arr[arr.length-1]){
const d1=new Date(new Date(date.getTime()+ (arr[i]-min)*60*1000).format('yyyy/MM/dd hh:mm:00'))
const d2= new Date(new Date(date.getTime()+ (arr[i+1]-min)*60*1000).format('yyyy/MM/dd hh:mm:00'))
if(date>d1&&date<=d2){
return d2.format('yyyy/MM/dd hh:mm:00')
}
}else{
return new Date(date.getTime()+ (60-min)*60*1000).format('yyyy/MM/dd hh:mm:00')
}
}
}
Date.prototype.format=function(fmt){
const date=this
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
//(y+)匹配多个y,比如yyyy
if(/(y+)/.test(fmt)) {
// RegExp.$1是RegExp的一个属性,指的是与正则表达式匹配的第一个 子匹配(以括号为标志)字符串
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
}
return fmt;
}
const date=new Date()
console.log(transTime(date,5))
将时间的分钟部分按指定粒度转整
最新推荐文章于 2024-10-15 14:00:48 发布