解决统计流量时间选择范围问题

This commit is contained in:
zhanghongqing
2019-01-03 20:27:40 +08:00
parent 678f973ec4
commit 673db28e2e
2 changed files with 79 additions and 188 deletions

View File

@@ -6,13 +6,26 @@ $(function(){
getTotalLog();
});
function setTime(){
/*function setTime(){
var chooseDate=new Date($('#beginDate').val());
chooseDate=chooseDate.setDate(chooseDate.getDate()+7);
var modifyTime=new Date(chooseDate);
$('#endDate').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
}*/
function setTime(dayData){
var useTime=$('#beginDate').val();
if(useTime==''){
return;
}
var chooseDate=new Date(useTime);
chooseDate=chooseDate.setDate(chooseDate.getDate()+dayData);
var now =new Date();
if(now.getTime()<new Date(chooseDate).getTime()){
chooseDate=now;
}
var modifyTime=new Date(chooseDate);
$('#endDate').val(modifyTime.getFullYear()+"-"+((modifyTime.getMonth()+1)>=10?(modifyTime.getMonth()+1):"0"+(modifyTime.getMonth()+1))+"-"+(modifyTime.getDate()>=10?modifyTime.getDate():'0'+modifyTime.getDate())+' '+(modifyTime.getHours()>=10?modifyTime.getHours():'0'+modifyTime.getHours())+':'+(modifyTime.getMinutes()>=10?modifyTime.getMinutes():'0'+modifyTime.getMinutes())+':'+(modifyTime.getSeconds()>=10?modifyTime.getSeconds():'0'+modifyTime.getSeconds()));
}
function setTimee(){
var chooseDate=new Date($('#searchFoundStartTime').val());
chooseDate=chooseDate.setDate(chooseDate.getDate()+1);
@@ -21,6 +34,68 @@ function setTimee(){
}
function currentTime() {
var now = new Date();
var year = now.getFullYear();
var month = now.getMonth() + 1;
var day = now.getDate();
var hh = now.getHours();
var mm = now.getMinutes();
var clock = year + "-";
if (month < 10) clock += "0";
clock += month + "-";
if (day < 10) clock += "0";
clock += day + " ";
if (hh < 10) clock += "0";
clock += hh + ":";
if (mm < 10) clock += '0';
clock += mm;
return (clock);
}
function getMaxDate(day){
var clock=currentTime();
var dt;
var times=0;
dt=$("#beginDate").val();
if(dt!=''){
times =Date.parse(dt.replace(/-/g,'/'))+day*24*60*60*1000;//时间间隔为10天
if(times-Date.parse(clock.replace(/-/g,'/'))<0){
var d1 = new Date(times);
var year = d1.getFullYear();
var month = d1.getMonth() + 1; //月份以0开头
var day = d1.getDate();
var hh = d1.getHours();
var mm = d1.getMinutes();
var clock = year + "-";
if (month < 10) clock += "0";
clock += month + "-";
if (day < 10) clock += "0";
clock += day + " ";
if (hh < 10) clock += "0";
clock += hh + ":";
if (mm < 10) clock += '0';
clock += mm;
}
}
return clock;
}
var getTotalLog=function(){
/*
td需要配置属性有audit,functionIdcompileIdaction
@@ -208,185 +283,3 @@ var switchMenu = function(topMenuId,functionId,oldMenuName){
});
//loading('onloading');
}
/*======================时间验证方法start===========================*/
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
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"
}
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(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为空
setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
$(startTimeSelector).val(dateFtt(formate,startTime));
$(endTimeSelector).val(dateFtt(formate,endTime));
}
//startTimeSelector:输入框开始时间选择器;
//endTimeSelector:输入框结束时间选择器;
//granule:时间粒度(数字);
//unit:时间粒度单位(h-小时,d-天,w-周,m-月);
//formate时间格式;默认格式yyyy-MM-dd hh:mm:ss
//future:选择的时间是否可以为未来时间 true or false 默认false(不能为未来时间)
function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
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"
}
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{
setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,future);
return;
}
}
$(startTimeSelector).val(dateFtt(formate,startTime));
$(endTimeSelector).val(dateFtt(formate,endTime));
}
function strIsBlank(obj){
if(obj==null || obj==undefined|| obj==''){
return true;
}else{
return false;
}
}
/*得到时间差值 单位毫秒*/
function getTimeDiff(granule,unit){
var diff=0;
switch(unit){
case 'h'://小时为单位
diff=granule*60*60*1000;
break;
case 'd'://天为单位
diff=granule*24*60*60*1000;
break;
case 'w'://周为单位
diff=granule*7*24*60*60*1000;
break;
case 'm'://月为单位
diff=granule*30*24*60*60*1000;
break;
default:
diff=granule*60*60*1000;
}
return diff;
}
function dateFtt(fmt,date){
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() //毫秒
};
if(/(y+)/.test(fmt))
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;
}
/*======================时间验证方法end===========================*/