精华内容
下载资源
问答
  • java判断日期是否工作日(排除节假日和调整周末上班) 判断当前日期是否工作日,包括判断是否周末,是否节假日,是否周末调整上班。 判断是否周末,我们可以通过java方法就可以实现,但是判断是否节假日和,...

    java判断日期是否为工作日(排除节假日和调整周末上班)

    判断当前日期是否为工作日,包括判断是否周末,是否节假日,是否周末调整上班。

    判断是否周末,我们可以通过java方法就可以实现,但是判断是否节假日和,调整的周末上班,这个就需要我们自己去维护了。

    搞2个集合,分别来存节假日和调整上班的日期。

    public class CalendarTest {
        //节假日列表
        private static List<Calendar> holidayList = new ArrayList<Calendar>();  
        //周末为工作日
        private static List<Calendar> weekendList = new ArrayList<Calendar>();
        /** 
         * @param args
         * return void    返回类型 
         * throws 
         */
        public static void main(String[] args) {
            try {
    
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                Calendar ca = Calendar.getInstance();
                Date d = df.parse("2016-09-15");
                ca.setTime(d);//设置当前时间
    
                CalendarTest ct = new CalendarTest();
                ct.initHolidayList("2016-09-15");//初始节假日
                ct.initHolidayList("2016-09-16");//初始节假日
                ct.initHolidayList("2016-09-17");//初始节假日
    
                ct.initWeekendList("2016-09-18");//初始周末为工作日
    
                boolean k = checkHoliday(ca);
                System.out.println(k);
    
            } catch ( Exception e) {
                // TODO: handle exception
                System.out.println(e.getClass());
                e.printStackTrace();
            }
    
        }
    
    
    
    
         /**
          * 
          * 验证日期是否是节假日
          * @param calendar  传入需要验证的日期
          * @return 
          * return boolean    返回类型  返回true是节假日,返回false不是节假日
          * throws 
          */
         public static boolean checkHoliday(Calendar calendar) throws Exception{
    
             //判断日期是否是周六周日
             if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY || 
                     calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
    
                //判断日期是否是节假日
                 for (Calendar ca : weekendList) {
                    if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
                            ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
                            ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
                        return false;
                    }
                }
    
                 return true;
             }
             //判断日期是否是节假日
             for (Calendar ca : holidayList) {
                if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
                        ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
                        ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
                    return true;
                }
            }
    
             return false;
         }
    
         /**
          * 
          * 把所有节假日放入list
          * @param date  从数据库查 查出来的格式2016-05-09
          * return void    返回类型 
          * throws 
          */
        public void initHolidayList(String date){
    
                String [] da = date.split("-");
    
                Calendar calendar = Calendar.getInstance();
                calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
                calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
                calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
                holidayList.add(calendar);
        }
    
        /**
         * 初始化周末被调整为工作日的数据
         */
        public void initWeekendList(String date){
            String [] da = date.split("-");
    
            Calendar calendar = Calendar.getInstance();
            calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
            calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
            calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
            weekendList.add(calendar);
    
    展开全文
  • 项目需要判断当前日期是否工作日,包括判断是否周末,是否节假日,是否周末调整上班。 判断是否周末,我们可以通过java方法就可以实现,但是判断是否节假日和,调整的周末上班,这个就需要我们自己去维护了。 所以...

    项目需要判断当前日期是否为工作日,包括判断是否周末,是否节假日,是否周末调整上班。

    判断是否周末,我们可以通过java方法就可以实现,但是判断是否节假日和,调整的周末上班,这个就需要我们自己去维护了。

    所以我们可以搞2个集合,分别来存节假日和调整上班的日期。

    这里数据我就模拟一下,用的时候,可以添加到xml文件中或者去读取数据库都行。

    下面看代码:

    public class CalendarTest {
    	//节假日列表
    	private static List<Calendar> holidayList = new ArrayList<Calendar>();  
    	//周末为工作日
    	private static List<Calendar> weekendList = new ArrayList<Calendar>();
    	/** 
    	 * @param args
    	 * return void    返回类型 
    	 * throws 
    	 */
    	public static void main(String[] args) {
    		try {
    			
    			DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    			Calendar ca = Calendar.getInstance();
    			Date d = df.parse("2016-09-15");
    			ca.setTime(d);//设置当前时间
    			
    			CalendarTest ct = new CalendarTest();
    			ct.initHolidayList("2016-09-15");//初始节假日
    			ct.initHolidayList("2016-09-16");//初始节假日
    			ct.initHolidayList("2016-09-17");//初始节假日
    			
    			ct.initWeekendList("2016-09-18");//初始周末为工作日
    			
    			boolean k = checkHoliday(ca);
    			System.out.println(k);
    			
    		} catch ( Exception e) {
    			// TODO: handle exception
    			System.out.println(e.getClass());
    			e.printStackTrace();
    		}
    		
    	}
    	
    
    	
    	 
    	 /**
    	  * 
    	  * 验证日期是否是节假日
    	  * @param calendar  传入需要验证的日期
    	  * @return 
    	  * return boolean    返回类型  返回true是节假日,返回false不是节假日
    	  * throws 
    	  */
    	 public static boolean checkHoliday(Calendar calendar) throws Exception{
    		 
    		 //判断日期是否是周六周日
    		 if(calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY || 
    				 calendar.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY){
    			 
    			//判断日期是否是节假日
    			 for (Calendar ca : weekendList) {
    				if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
    						ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
    						ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
    					return false;
    				}
    			}
    			 
    			 return true;
    		 }
    		 //判断日期是否是节假日
    		 for (Calendar ca : holidayList) {
    			if(ca.get(Calendar.MONTH) == calendar.get(Calendar.MONTH) &&
    					ca.get(Calendar.DAY_OF_MONTH) == calendar.get(Calendar.DAY_OF_MONTH)&&
    					ca.get(Calendar.YEAR) == calendar.get(Calendar.YEAR)){
    				return true;
    			}
    		}
    		  
    		 return false;
    	 }
    	 
    	 /**
    	  * 
    	  * 把所有节假日放入list
    	  * @param date  从数据库查 查出来的格式2016-05-09
    	  * return void    返回类型 
    	  * throws 
    	  */
    	public void initHolidayList(String date){
    		
    			String [] da = date.split("-");
    			
    			Calendar calendar = Calendar.getInstance();
    			calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
    			calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
    			calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
    			holidayList.add(calendar);
    	}
    	
    	/**
    	 * 初始化周末被调整为工作日的数据
    	 */
    	public void initWeekendList(String date){
    		String [] da = date.split("-");
    		
    		Calendar calendar = Calendar.getInstance();
    		calendar.set(Calendar.YEAR, Integer.valueOf(da[0]));
    		calendar.set(Calendar.MONTH, Integer.valueOf(da[1])-1);//月份比正常小1,0代表一月
    		calendar.set(Calendar.DAY_OF_MONTH, Integer.valueOf(da[2]));
    		weekendList.add(calendar);
    	}
    
    }


    博客地址:www.linchaokun.cn


    展开全文
  • Java判断指定日期是否工作日

    千次阅读 2019-09-28 17:12:18
    Java判断指定日期是否工作日 转自:https://www.jianshu.com/p/966659492f2f 转:https://www.jianshu.com/p/05ccb5783f65转:https://www.jianshu.com/p/99931a7a4f0d获取指定日期的节假日信息:...

    Java判断指定日期是否为工作日

    转自:https://www.jianshu.com/p/966659492f2f

    转:https://www.jianshu.com/p/05ccb5783f65
    转:https://www.jianshu.com/p/99931a7a4f0d
    获取指定日期的节假日信息: http://api.goseek.cn/

    package com.juqitech.zb.common.util;
    
    import net.sf.json.JSONObject;
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.text.SimpleDateFormat;
    
    
    /**
     * 调用API接口判断日期是否是工作日 周末还是节假日
     * 工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2
     */
    public class HolidayUtil {
    
        public static int request( String httpArg) {
            String httpUrl = "http://api.goseek.cn/Tools/holiday";
            BufferedReader reader = null;
            String result = null;
            StringBuffer sbf = new StringBuffer();
            httpUrl = httpUrl + "?date=" + httpArg;
    
            int d=0;//工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2
    
            try {
                URL url = new URL(httpUrl);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.connect();
                InputStream is = connection.getInputStream();
                reader = new BufferedReader(new InputStreamReader(is, "UTF-8"));
                String strRead = null;
                while ((strRead = reader.readLine()) != null) {
                    sbf.append(strRead);
                    sbf.append("\r\n");
                }
                reader.close();
                result = sbf.toString();
                JSONObject ob= JSONObject.fromObject(result);
                if(ob!=null){
                    d=Integer.parseInt(ob.getString("data"));
                }
    
    
    
            } catch (Exception e) {
                e.printStackTrace();
            }
            return d;
        }
    
        public static void main(String[] args) {
            //判断今天是否是工作日 周末 还是节假日
    
            SimpleDateFormat f=new SimpleDateFormat("yyyyMMdd");
    
            String httpArg="20190216";//f.format(new Date());
            System.out.println(httpArg);
            int n = request(httpArg);
            System.out.println(n);
            //工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2
    
        }
    }
    

     

     

    转载于:https://www.cnblogs.com/personsiglewine/p/11460084.html

    展开全文
  • java判断一个日期是否工作日

    千次阅读 2020-01-14 20:57:42
    java判断一个日期是否工作日 /** * @Author :feiyang * @Date :Created in 7:47 PM 2019/12/3 */ public class LocalDateTimeUtil { /** * 判断指定时间是否在工作时间内 * @author feiyang * @param ...

    java判断一个日期是否为工作日

    /**
     * @Author :feiyang
     * @Date :Created in 7:47 PM 2019/12/3
     */
    public class LocalDateTimeUtil {
    /**
         * 判断指定时间是否在工作时间内
         * @author  feiyang
         * @param seconds
         * @return  java.lang.Boolean
         * @date    2020/1/13
         * @throws
         */
        public static Boolean isWorkDuration(Long seconds) {
            LocalDateTime localDateTime = LocalDateTime.ofEpochSecond(seconds,0,ZoneOffset.ofHours(8));
            DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();
            if (DayOfWeek.SATURDAY == dayOfWeek || DayOfWeek.SUNDAY == dayOfWeek) {
                return false;
            }
            Long startAm = convertDateToLongSecond(localDateTime.withHour(9).withMinute(0).withSecond(0).withNano(0));
            Long endAm = convertDateToLongSecond(localDateTime.withHour(12).withMinute(0).withSecond(0).withNano(0));
            if (seconds >= startAm && seconds <= endAm) {
                return true;
            }
            Long startPm = convertDateToLongSecond(localDateTime.withHour(13).withMinute(0).withSecond(0).withNano(0));
            Long endPm = convertDateToLongSecond(localDateTime.withHour(18).withMinute(0).withSecond(0).withNano(0));
            if (seconds >= startPm && seconds <= endPm) {
                return true;
            }
            return false;
        }
    }
    
    展开全文
  • * 方法描述:方法描述:获取节假日 访问接口,根据返回值判断当前日期是否工作日, * 返回结果:检查具体日期是否为节假日,工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2; * @author xyl...
  • Java 判断当前日期是否 是这个月的最后一周且是否工作日(星期一到星期五) 话不多说,直接贴代码: import java.text.SimpleDateFormat; import java.util.Calendar; public class Date { public static void ...
  • 1.传入yyyyMMdd 格式的 String 类型时间 返回今天是否工作日,请求http://api.goseek.cn/网站 获取getIsWorkingDay() 2.传入 Integer 类型 的 工作日 天数,返回从今天开始往前推的自然日天数。getNatureDay() ...
  • 得到一个指定日期后,先判断这天是不是周六或周日,再判断这天是不是法定节假日,如果都不是,就显示为工作日;如果是周末不是法定节假日,算非工作日;如果这天不是周末但是法定节假日,算非工作日;是周末也是法定...
  • } } /** * * 方法描述:方法描述:获取节假日 访问接口,根据返回值判断当前日期是否工作日, * 返回结果:检查具体日期是否为节假日,工作日对应结果为 0, 休息日对应结果为 1, 节假日对应的结果为 2;...
  • 判断指定日期是否为节假日、双休日、工作日。 简单想了下,双休日可能也上班,工作日可能休息。另外每年的节假日,放假时间,还真不知道! 自己做不出来,就在网上找答案: 推荐一篇文章: ...
  • 检查一个日期是否是节假日、工作日、休息日 http://www.easybots.cn/api/holiday.php?d=20190913 http://api.goseek.cn/Tools/holiday?date=20190913 http://tool.bitefu.net/jiari/?d=20190913 检查多...
  • 参数:长整型日期 返回:布尔值 工具类如下: ... //判断选择的日期是否是本周 public static boolean isThisWeek(long time) { Calendar calendar = Calendar.getInstance(); int currentWeek = cale
  • java 判断日期是否是节假日

    千次阅读 2017-08-30 10:18:52
    2.判断是否是节假日的类 工作日返回true ,休息日返回false。  需要引用poi-bin-3.9包,包放在博客文件中 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; im
  • * 根据判断当前时间是否是节假日还是工作日 (excel中不存在当前日期:0;节假日:1;工作日:2) * 如果当前日期在excel中的节假日和工作日都写了,默认的工作日 * @return */ private int getDateType...
  • 判断某日是节假日还是工作日 import datetime import chinese_calendar demo_time = datetime.date(2018, 10, 2) # 判断是否是节假日 data_is_holiday = chinese_calendar.is_holiday(demo_time) # True # 判断...
  • 今天老师让写一个程序:输入日期,计算是否工作日。有以下几个思路: 首先是第一种计算原理: 把你想要知道的日期号,加上该月份代号,再除以7,能整除的就是星期日;不能整除的,余数是几,那天就是星期几。...
  • 想先获取当前时间,然后判断当前时间是否为周一到周五工作日的非工作日间(工作时间为8:30-17:00),C币不多。就大神帮忙
  • #获取当天日期值 currentdate = datetime.date.today() print(currentdate) year= currentdate.year month = currentdate.month day = currentdate.day #系统默认:星期一作为一周的第一天(即:0),星期作...
  • java计算当前日期后N个工作日日期

    千次阅读 2019-05-27 09:50:38
    如图,合同中有很多这种日期计算,故封装一通用工具类,记录于此。需求如下: WorkDayUtils如下: ... ...import org.apache.commons.lang.StringUtils;...import java.text.SimpleDateFormat;... * 工作日计算工具类 ...
  • 根据日期判断是否是节假日

    千次阅读 2018-04-19 15:22:28
    根据日期判断是否是节假日 完整代码请看我的GitHub package direct.test; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; ...
  • java工作日和节假日判断

    万次阅读 热门讨论 2016-09-12 12:02:34
    最近公司有个业务需要判断工作日,但是每年的节假日不一样,且不说周末、法定节假日这些,有些公司还有自己的节假日,这样就很难写出一劳永逸的方法来实现了。 其实我们可以借助数据库来实现这个功能,可以把每年的...
  • 所以唯一的解决方案是建立一张工作日时间表,通过这张表去判断当天是否属于工作日。 1、新建一张数据库表,【工作日】 上传到CSDN资源了,下载后倒入数据库就可以 https://download.csdn.net/download...
  • 不多哔哔,直接上代码
  • 根据开始日期 ,需要的工作日天数 ,计算工作截止日期,并返回截止日期
  • 获取指定N个工作日后的日期

    千次阅读 2018-04-03 09:37:27
    工作中遇到的一个小问题,需要获取指定天数的工作日后的日期,比如:3个工作日后的日期。从网上没有找到完全符合要求的例子,只好自己写一个,在这里记录一下。package com.linkcld.ecms.common.util; import java....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 52,763
精华内容 21,105
关键字:

如何判断日期是否是工作日