/**
* @param {start} start 开始的时间
* @param {end} end 结束的时间
* @return 返回的比较值,start>end 返回true, start<end 返回false start==end 返回 equls
*/
let comparisonTime = (start,end)=>{
//先判断传进来的参数start和end是否为空
let isStart = start && typeof(start) ==='string'
let isEnd = end && typeof(end) ==='string'
if(isStart&&isEnd){
console.log('都有值')
}else{
console.log('请输入正确的值')
}
//匹配'YY-MM-DD'
let startType = format(start)
let endType = format(end)
if(startType&&startType == endType){
switch(startType){
case 'YY-MM-DD HH-MM-SS':
return compareYH(start,end);
case 'HH-MM-SS':
return compareH(start,end)
case 'YY-MM-DD':
return compareY(start,end)
}
}else{
console.log('对比的时间不对')
}
}
/**
* 转换时间格式
* @param {time} time 传入的时间
* @returns 返回时间格式
*/
function format(time){
//正则表达式
let regYMD = /([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))/
let regHMS = /^([0-1][0-9]|2[0-4]):([0-5][0-9]):([0-5][0-9])/
let regTMDHMS = /([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))([ ])([0-1]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])/
if(regTMDHMS.test(time)){
return 'YY-MM-DD HH-MM-SS'
}else if(regHMS.test(time)){
return 'HH-MM-SS'
}else if(regYMD.test(time)){
return 'YY-MM-DD'
}else{
console.log('请输入正确的年月日')
}
}
/**
* 比较年月日时分秒
* @param {startTime} startTime 开始的年月日时分秒
* @param {endTime} endTime 结束的年月日时分秒
*/
function compareYH(startTime,endTime){
let start = Date.parse(startTime)
let end = Date.parse(endTime)
if(start>end){
return true
}else if(start == end){
return 'equls'
}else{
return false
}
}
/**
* 比较年月日
* @param {startTime} startTime 开始的年月日
* @param {endTime} endTime 结束的年月日
*/
function compareY(startTime,endTime){
let start = Date.parse(startTime)
let end = Date.parse(endTime)
if(start>end){
return true
}else if(start == end){
return 'equls'
}else{
return false
}
}
/**
* 比较时分秒
* @param {startTime} startTime 开始的时分秒
* @param {endTime} endTime 结束的时分秒
*/
function compareH(startTime,endTime){
let start = time_to_sec(startTime)
let end = time_to_sec(endTime)
if(start>end){
return true
}else if(start == end){
return 'equls'
}else{
return false
}
}
/**
* 将时分秒转化为时间戳
* @param {time} time 时分秒
* @returns 时分秒的时间戳
*/
function time_to_sec(time){
if(time !==null){
let s='';
let hour = time.split(':')[0];
let min = time.split(':')[0];
let sec = time.split(':')[0];
s=Number(hour*3600) + Number(min * 60) + Number(sec);
return s;
}
}
let a = comparisonTime('2019-10-25','2019-10-25')
console.log(a)// export default comparisonTime
01-05
1235