在项目模块中,模块大多有查询功能,那时间查询也就成了经常用到的事,如果数据量大,在切换界面的时候,会自动加载一次数据分页显示,可是却是对全表数据查询,在执行时,性能也就变得慢很多,有人会说,那一开始切换界面时,不加载数据,那界面就不太美观了,因为你这个界面模块,除了检索条件框外,下面空空的,我们至少要显示一些数据给别人,让一个界面看起来有规范而满满的东西。
那我们就可以给时间检索加一个默认时间,比如前后默认为一周七天,这样客户在第一次各模块界面切换时,读取的就是七天的数据,一来有数据,二来解决了全表查询的工作,节省了数据库的查询时间。你可不知道,一个数据库大的表,全表查询一下,就是好几秒,话不多说,贴代码,这是JS代码,可做为参考
/**
* @param vType 1.七天前 2.今天
* @param AddDayCount 获取AddDayCount天后的日期
* @return 时间格式
*/
function GetDateStr(vType,AddDayCount) {
var dd = new Date();
dd.setDate(dd.getDate()+AddDayCount);
var y = dd.getFullYear();
var M = dd.getMonth()+1;//获取当前月份的日期
var d = dd.getDate();
var H = dd.getHours();
var m = dd.getMinutes();
var s = dd.getSeconds();
if(vType == 1){
return y+"-"+M+"-"+d;
}else if(vType == 2){
return y+"-"+M+"-"+d+" "+H+":"+m+":"+s;
}
}
上面代码就是先把时间拿到,并拼接成我们想要的格式,
function SetTime(){
var today = GetDateStr(2,0);
var sevenDayAgo = GetDateStr(1,-6);
$("#ZJQGL_startTime").val(sevenDayAgo+ ' 07:00:00');
$("#ZJQGL_endTime").val(today);
}
这个方法就是设置两个时间控件的默认值了,一个是开始时间,一个是结束时间,并显示在界面中,在切换界面时,界面会自动把这个默认的时间条件传到后台进行条件查询。