问题就是页面初始化的时候需要赋值一个跨度时间.第一个时间或者是第二个时间的前30天,或者是3天,或者是其他的一个时间跨度.这里就是求时间跨度的问题.
昨天发现一个问题,就是在处理时间上考虑太少了,没有完全细致的考虑问题,哎,不知道是经验少?还是其他原因,总之都是自己的问题,不过还好发现了.
就是在处理跨年和跨月的时候会出现一些问题,当然,可能还有更好的方案,还有更加完善并且更加小巧的用法,但是由于当时就是用的这个笨办法,所以就是在这个基础上的改进.
其实就用普通的思考,也是相当简单,就是当前时间,应当很好处理,其次就是前面的那个时间,直接处理吧.
看下面的程序就知道了,就是用规格时间去处理,把跨度到当前时间的前一个时间当作一个时间格式去处理,然后就跟当前时间一样的,去直接取值就可以了,
具体程序如下:
var hour = date.toTimeString().substring(0,8);
var month;
var endDay;
var stDay;
var startmonth;
if((date.getMonth()+1)<10){
month = '0'+(date.getMonth()+1)
}else{
month = (date.getMonth()+1)
}
if(date.getDate()<10){
endDay = '0'+date.getDate();
}else{
endDay = date.getDate();
}
//计算初始天
if(fordate.getDate()<10){
stDay = '0'+fordate.getDate();
}else{
stDay = fordate.getDate();
}
//计算初始月份
if((fordate.getMonth()+1)<10){
startmonth = '0'+(fordate.getMonth()+1)
}else{
startmonth = (fordate.getMonth()+1)
}
//处理年
//三天前
var stTime = fordate.getYear()+'-'+startmonth+'-'+stDay+' '+hour;
Query.startTime.value=stTime;
//当前时间
var thisTime = date.getYear()+'-'+month+'-'+endDay+' '+hour;
Query.endTime.value=thisTime;
}
对于时间,这样修改是正确的,用其他方法,不好掌握.所以,哎.