添加时间控制js
ipList.jsp引用时间控制js
This commit is contained in:
@@ -111,8 +111,10 @@
|
|||||||
<div class="input-group-btn">
|
<div class="input-group-btn">
|
||||||
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
<span class="selectpicker form-control" ><spring:message code="begin_date"/></span>
|
||||||
</div>
|
</div>
|
||||||
|
<%-- <input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||||
|
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/> --%>
|
||||||
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
<input name="searchFoundStartTime" id="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||||
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:setTimee,dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{$dp.$D(\'searchFoundEndTime\')}'});"/>
|
value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
@@ -121,7 +123,7 @@
|
|||||||
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
<span class="selectpicker form-control" ><spring:message code="end_date"/></span>
|
||||||
</div>
|
</div>
|
||||||
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
<input name="searchFoundEndTime" id="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
|
||||||
value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,minDate:'#F{$dp.$D(\'searchFoundStartTime\')}',maxDate:'#F{$dp.$D(\'searchFoundStartTime\',{d:1})}'});"/>
|
value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTime('#searchFoundStartTime','#searchFoundEndTime',1,'d','yyyy-MM-dd hh:mm:ss',false)"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
|
|||||||
@@ -283,3 +283,185 @@ var switchMenu = function(topMenuId,functionId,oldMenuName){
|
|||||||
});
|
});
|
||||||
//loading('onloading');
|
//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===========================*/
|
||||||
Reference in New Issue
Block a user