这里主要是由于求月份差,年份差,甚至需要求天及其以下的差,(天及其一下,就用getTime()方法就可以直接搞定了,然后就是时间的计算,比如getTime()/1000/60/60/24之类的就是求秒,分,小时,天,)

 

       说一下需求,起始是为了数据库查询方便,因为日志表是一天一个,或者多天一个,所以这里就需要统计表名,这里就举一个月表来做例子了,也就是一个月写一个日志表.所以首先是确定表.然后查数据,也许是自己的经验太少.在后台些Java处理的时候,不太了解Oracle是否有更好的方法来进行处理,所以就用了这个笨办法.直接查表,其中知道表是最主要的,以下就先来知道表吧.

 

      可能这次写的还不是很全,说是有月年天,但是可能包含不是那么全,但是包含了月份的处理,其实都是集成了好多人用过的内容了,这里总结也不是很好,主要是工作当中不断的改进,不断的深入学习.

       但是还是与大家分享一下自己的一点点小经验吧,虽然就是一些基本的问题.呵呵!

 

       以下是得到月份数,以两个时间参数来算.还有时间格式问题,这个根据自己需求定义吧,呵呵!(我就用下面的了.)

 

//时间处理,时间的总月份数.
			Date st = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(startTime);
			Date et = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(endTime);
			
			Calendar ca1 = Calendar.getInstance();
			Calendar ca2 = Calendar.getInstance();
			ca1.setTime(st);
			ca2.setTime(et);
			
			int ca1Year = ca1.get(Calendar.YEAR);
			int ca1Month = ca1.get(Calendar.MONTH);
			
			int ca2Year = ca2.get(Calendar.YEAR);
			int ca2Month = ca2.get(Calendar.MONTH);
			int countMonth = 0;//这个是用来计算得到有多少个月时间的一个整数,
			if(ca1Year==ca2Year){
				countMonth = ca2Month - ca1Month;
			}else{
				countMonth = (ca2Year - ca1Year)*12 + (ca2Month - ca1Month);
			}
			//这里的年数,相应的就知道了吧,呵呵,直接相减就可以得到了,呵呵,程序写得还算规整,所以应该能够看得懂的.

 

       得到了月份数,其次是处理.
       这里以 countMonth 来计算有几个月.

//然后处理得到时间表.
//设置表名
//循环来得到多少个月,
	for(int count = 0;count<=countMonth;count++){
				String tblAfter = DateAdd(count,startTime);
				//System.out.println("----->月份是:"+tblAfter);
				String stTime = "USER_OPER_LOG" + tblAfter;
				if(checkTblName(stTime)){
					if(count==0){
					
					}else if(count==countMonth){
					
					}else{
					
					}
				}
	}
	//用一个方法来处理得到月份.
	public String DateAdd(int count,String startTime){
		String returnStr = "";
		try{
			Calendar ca = Calendar.getInstance();
			Date date = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(startTime);
			ca.setTime(date);
			ca.add(Calendar.MONTH, count);
			int month = ca.get(Calendar.MONTH)+1;
			if(month<10){
				returnStr = String.valueOf(ca.get(Calendar.YEAR))+"0"+String.valueOf(month);
			}else{
				returnStr = String.valueOf(ca.get(Calendar.YEAR))+String.valueOf(month);
			}
			
		}catch(Exception e){
			System.out.println("设置表名方法异常:"+e.getMessage());
		}
		return returnStr;
	}

 

        到这里其实就差不多了,因为时间得到了,表也得到了,然后就是处理数据,查询语句而已了.
 
         起始JavaScript也跟Java这个差不多,都是大同小异而已,虽然就是很简单的体力活.呵呵,希望对有的人有帮助.

         暂时只能写这么多了,也许这两天比较忙,所以就瞎乱的写了下,等有时间处理吧,说说而已,呵呵!