`
lancijk
  • 浏览: 383943 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java中的时间操作(判断工作日和休息日)和判断日期大小

    博客分类:
  • Java
阅读更多

--1:日期操作以免自己要的时候忘记了

 

public  Date reportGetDate(Date d,String type,int number){
		Calendar calendar = Calendar.getInstance();
		calendar.setTime(d);
		if(type.equals("YEAR"))calendar.add(Calendar.YEAR,number);
		if(type.equals("MONTH"))calendar.add(Calendar.MONTH,number);
		if(type.equals("DAY"))calendar.add(Calendar.DAY_OF_MONTH,number);
		if(type.equals("HOUR"))calendar.add(Calendar.HOUR_OF_DAY,number);
		if(type.equals("min"))calendar.add(Calendar.MINUTE,number);
		Date date = calendar.getTime();
		return date;
		}

 

2:判断只加工作日的情况,系统还有可能设置了休息日和加班日

/**
	 * 这个算法判断周末和加班日和休息日
	 * @throws Exception 
	 */
	public int returnDay(Date bgnTime) throws Exception{
		int isweekday=0;
		int Sum=0;
		// bgnTime=new Date();	 
		for(isweekday=0;isweekday<3;){
			
			SimpleDateFormat   sf   =   new   SimpleDateFormat( "yyyy-MM-dd "); 
			String workflag=ycsdjService.getSysholiday(sf.format(bgnTime));
//这个是系统里设置的节假日和加班日
			if(workflag ==null){
				workflag="WH";
			}
			//Date date=new Date();
			Calendar cal=Calendar.getInstance();
			cal.setTime(bgnTime); 
			if(cal.get(Calendar.DAY_OF_WEEK) == 1 || cal.get(Calendar.DAY_OF_WEEK) == 7){
				if(workflag !=null&&workflag.equals("W")){
					isweekday+=1;
					cal.add(Calendar.DATE, 1);
					bgnTime=cal.getTime();
					Sum+=1;
				}else{
					cal.add(Calendar.DATE, 1);
					bgnTime=cal.getTime();
					Sum+=1;
				}
			}else{
				if(workflag !=null&&workflag.equals("H" )){
					cal.add(Calendar.DATE, 1);
					bgnTime=cal.getTime();
					Sum+=1;
				}else{
					isweekday+=1;
					Sum+=1;
					cal.add(Calendar.DATE, 1);
					bgnTime=cal.getTime();
					
				}
			}
			
		}
		return Sum;
		
	}

  

3:将第二个方法的值传回给第一个方法.就知道是加几天了

 

4:判断日期大小直接取方法 getTime();

 Date dt1 = new Date();
            Date dt2 = new Date();
            if (dt1.getTime() > dt2.getTime()) {
                System.out.println("dt1 在dt2前");
            } else if (dt1.getTime() < dt2.getTime()) {
                System.out.println("dt1在dt2后");
            }

 

 

 

2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics