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

@@ -53,6 +53,18 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
} }
return formatDate; return formatDate;
} }
/**
* 把指定时间转为指定格式
* @param date 需格式化时间
* @param parm 格式
* @return
*/
public static String formatDateTimeByParm(Date date,String parm) {
if(StringUtil.isBlank(parm)){
parm="yyyy-MM-dd";
}
return formatDate(date, parm);
}
/** /**
* 得到日期时间字符串转换格式yyyy-MM-dd HH:mm:ss * 得到日期时间字符串转换格式yyyy-MM-dd HH:mm:ss

View File

@@ -68,9 +68,9 @@ public class ReportController extends BaseController {
params.put("searchFoundEndTime", log.getSearchFoundEndTime()); params.put("searchFoundEndTime", log.getSearchFoundEndTime());
} else { } else {
Calendar time = Calendar.getInstance(); Calendar time = Calendar.getInstance();
String searchEndTime = DateUtils.formatDateTime(time.getTime()); String searchEndTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";
time.add(Calendar.HOUR_OF_DAY, -1); time.add(Calendar.HOUR_OF_DAY, -1);
String searchStartTime = DateUtils.formatDateTime(time.getTime()); String searchStartTime = DateUtils.formatDateTimeByParm(time.getTime(),"yyyy-MM-dd HH")+":00:00";;
params.put("searchFoundStartTime", searchStartTime); params.put("searchFoundStartTime", searchStartTime);
params.put("searchFoundEndTime", searchEndTime); params.put("searchFoundEndTime", searchEndTime);

View File

@@ -146,7 +146,7 @@
<!-- <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" --> <!-- <input name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" -->
<%-- value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> --%> <%-- value="${log.searchFoundStartTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> --%>
<input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" <input id="searchFoundStartTime" name="searchFoundStartTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
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,'w','yyyy-MM-dd hh:mm:ss',false)"/> value="${log.searchFoundStartTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setStartTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'w','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">
@@ -157,7 +157,7 @@
<!-- <input name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" --> <!-- <input name="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});"/> --%> <%-- value="${log.searchFoundEndTime}" onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true});"/> --%>
<input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium" <input id="searchFoundEndTime" name="searchFoundEndTime" type="text" readonly="readonly" maxlength="20" class="form-control Wdate input-medium"
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,'w','yyyy-MM-dd hh:mm:ss',false)"/> value="${log.searchFoundEndTime}" onclick="WdatePicker({onpicked:function(){this.onchange()},dateFmt:'yyyy-MM-dd HH:mm:ss',isShowClear:true,maxDate:'#F{\'new Date()\'}'});" onchange="setEndTimeByFormat('#searchFoundStartTime','#searchFoundEndTime',1,'w','yyyy-MM-dd hh:mm:ss',false,'yyyy-MM-dd hh')"/>
</div> </div>
</div> </div>
<div class="pull-left"> <div class="pull-left">

View File

@@ -361,12 +361,12 @@ function setEndTime(startTimeSelector,endTimeSelector,granule,unit,formate,futur
function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){ function setStartTime(startTimeSelector,endTimeSelector,granule,unit,formate,future){
if(strIsBlank(granule)||strIsBlank(unit)){ if(strIsBlank(granule)||strIsBlank(unit)){
console.log("时间粒度或时间单位为空"); //console.log("时间粒度或时间单位为空");
return; return;
} }
if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){ if(strIsBlank(startTimeSelector)||strIsBlank(endTimeSelector)){
console.log("时间输入框选择器为空"); //console.log("时间输入框选择器为空");
return; return;
} }
@@ -472,3 +472,178 @@ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).subs
return fmt; 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=====================================*/