@ -193,19 +193,22 @@ export class DateInterval extends Single {
}
}
_check ( smallDate , bigDate ) {
_check ( smallDate , bigDate ) {
const smallObj = smallDate . match ( /\d+/g ) ,
// 现在有自定义样式,所以有["%X", "%d", "%Y"]这种不是[year, month, day]的情况,下面取对应的ymd就出错
bigObj = bigDate . match ( /\d+/g ) ;
// 所以先把这个string转成date,再转成默认格式string,只对自定义格式的date做处理
const newSmallDate = this . options . format ? print ( parseDateTime ( smallDate , this . options . format ) , "%Y-%X-%d %H:%M:%S" ) : smallDate ;
const newBigDate = this . options . format ? print ( parseDateTime ( bigDate , this . options . format ) , "%Y-%X-%d %H:%M:%S" ) : bigDate ;
const smallObj = newSmallDate . match ( /\d+/g ) ,
bigObj = newBigDate . match ( /\d+/g ) ;
return (
return (
this . _dateCheck ( smallDate ) &&
this . _dateCheck ( newS mallDate) &&
checkDateLegal ( smallDate ) &&
checkDateLegal ( newS mallDate) &&
this . _checkVoid ( {
this . _checkVoid ( {
year : smallObj [ 0 ] ,
year : smallObj [ 0 ] ,
month : smallObj [ 1 ] ,
month : smallObj [ 1 ] ,
day : smallObj [ 2 ] ,
day : smallObj [ 2 ] ,
} ) &&
} ) &&
this . _dateCheck ( b igDate) &&
this . _dateCheck ( newB igDate) &&
checkDateLegal ( b igDate) &&
checkDateLegal ( newB igDate) &&
this . _checkVoid ( {
this . _checkVoid ( {
year : bigObj [ 0 ] ,
year : bigObj [ 0 ] ,
month : bigObj [ 1 ] ,
month : bigObj [ 1 ] ,