ASNStatics,查询时间改为为小时(整点 例如 2019-01-11 17:00:00),默认往后推迟1个小时

This commit is contained in:
dongxiaoyan
2019-01-12 14:28:40 +08:00
parent f594d68305
commit 943d507294
4 changed files with 194 additions and 7 deletions

View File

@@ -361,12 +361,12 @@ function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,futur
function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
if(strIsBlank(granule)||strIsBlank(unit)){
console.log("时间粒度或时间单位为空");
//console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
console.log("时间输入框选择器为空");
//console.log("时间输入框选择器为空");
return;
}
@@ -471,4 +471,179 @@ 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;
}
/*======================时间验证方法end===========================*/
/*======================时间验证方法end===========================*/
/*======================新增按照需求指定时间范围如取到天、小时等start=====================================*/
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
//formatParm有效时间范围参数yyyy-MM-dd HH例如时间范围限制到小时yyyy-MM-dd HH:00:00yyyy-MM-dd例如时间范围限制到天yyyy-MM-dd 00:00:00
function setEndTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future,formatParm){
if(strIsBlank(granule)||strIsBlank(unit)){
console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
console.log("时间输入框选择器为空");
return;
}
if(strIsBlank(formate)){
formate="yyyy-MM-dd hh:mm:ss"
}
var endStr="";
if(strIsBlank(formatParm)){
formatParm = formate;
}else{
if((formate.length-formatParm.length) == 3){
endStr="00";
}else if((formate.length-formatParm.length) == 6){
endStr=":00:00";
}else if((formate.length-formatParm.length) == 9){
endStr=" 00:00:00";
}else{
endStr="";
}
}
if(future==null || future==undefined){
future=false;
}
var startTimeVal=$(startTimeSelector).val();
var endTimeVal=$(endTimeSelector).val();
alert(startTimeVal);
alert(endTimeVal);
//alert(startTimeVal.substr(0,formatParm.length-1);
var startTime;
var endTime;
var diff=getTimeDiff(granule,unit);//得到时间粒度差值
if(!strIsBlank(endTimeVal)){
endTime=new Date(endTimeVal);
var currentTime=new Date().getTime();
if(!future&&endTime.getTime()>currentTime){ //endTime不能是未来时间
endTime=new Date();
}
if(strIsBlank(startTimeVal)){
startTime=new Date(endTime.getTime()-diff);
}else{//startTime和endTime都不为空
startTime=new Date(startTimeVal);
if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//startTime不在时间粒度之内
startTime=new Date(endTime.getTime()-diff);
}
}
}else{
if(strIsBlank(startTimeVal)){//startTime and endTime 都为空
endTime=new Date();
startTime=new Date(endTime.getTime()-diff);
}else{//startTime 不为空endTime为空
setStartTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
//$(startTimeSelector).val(dateFtt(formate,startTime));
//$(endTimeSelector).val(dateFtt(formate,endTime));
$(startTimeSelector).val(dateFtt(formatParm,startTime)+endStr);
$(endTimeSelector).val(dateFtt(formatParm,endTime)+endStr);
}
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
function setStartTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future,formatParm){
if(strIsBlank(granule)||strIsBlank(unit)){
//console.log("时间粒度或时间单位为空");
return;
}
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
//console.log("时间输入框选择器为空");
return;
}
if(strIsBlank(formate)){
formate="yyyy-MM-dd hh:mm:ss"
}
var endStr="";
if(strIsBlank(formatParm)){
formatParm = formate;
}else{
if((formate.length-formatParm.length) == 3){
endStr="00";
}else if((formate.length-formatParm.length) == 6){
endStr=":00:00";
}else if((formate.length-formatParm.length) == 9){
endStr=" 00:00:00";
}else{
endStr="";
}
}
if(future==null || future==undefined){
future=false;
}
var startTimeVal=$(startTimeSelector).val();
var endTimeVal=$(endTimeSelector).val();
var startTime;
var endTime;
var diff=getTimeDiff(granule,unit);//得到时间粒度差值
if(!strIsBlank(startTimeVal)){
startTime=new Date(startTimeVal);
var currentTime=new Date().getTime();
if(!future&&startTime.getTime()>currentTime){//startTime是一个超过当前时间值
startTime=new Date(currentTime-diff);
}
if(strIsBlank(endTimeVal)){
if(startTime.getTime()+diff>currentTime){
endTime=new Date();
}else{
endTime=new Date(startTime.getTime()+diff);
}
}else{//startTime和endTime都不为空
endTime=new Date(endTimeVal);
if(endTime.getTime()-startTime.getTime()>diff||endTime.getTime()-startTime.getTime()<=0){//endTime不在时间粒度之内
if(startTime.getTime()+diff>currentTime){
endTime=new Date();
startTime=new Date(endTime.getTime()-5*60*1000);
}else{
endTime=new Date(startTime.getTime()+diff);
}
}
}
}else{
if(strIsBlank(endTimeVal)){//startTime和endTime 都为空
endTime=new Date();
startTime=new Date(endTime.getTime()-diff);
}else{
setEndTimeByFormat(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
//$(startTimeSelector).val(dateFtt(formate,startTime));
//$(endTimeSelector).val(dateFtt(formate,endTime));
$(startTimeSelector).val(dateFtt(formatParm,startTime)+endStr);
$(endTimeSelector).val(dateFtt(formatParm,endTime)+endStr);
}
/*======================新增按照需求指定时间范围如取到天、小时等end=====================================*/