- 时间格式化函数
- 格式:
yyyy-MM-dd hh:mm:ss.S
const formatDate =function (date:Date,fmt:string) {
let 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() //毫秒
};
if(/(y+)/.test(fmt))
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
for(let k in o)
if(new RegExp("("+ k +")").test(fmt))
{
// @ts-ignore
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
return fmt;
};
- 时间分段函数
开始时间 结束时间 间隔时间段 格式
9:00 23:00 30 “mm:ss”
生成例子:[09:00,09:30,10:00,10:30,11:00,…,23:30]
const generateTimesArray=(startTime1:string,endTime1:string,duration:number,format:string="yyyy-MM-dd hh:mm:ss")=>{
let Y=[];
let startTime=new Date(startTime1);
let endTime=new Date(endTime1);
Y.push(formatDate(startTime,format));
let temTime: Date =startTime;
temTime.setMinutes(temTime.getMinutes()+duration)
while (temTime<endTime){
Y.push(formatDate(temTime,format));
temTime.setMinutes(temTime.getMinutes()+duration)
}
Y.push(formatDate(endTime,format));
return Y;
}
const MiniTool={
formatDate,
generateTimesArray
}
export default MiniTool