/*** 计算节假日当天,放假/加班的情况* 下面注释以元旦,春节为例* @param day 输入的时期一定时节假日当天且为第一天* @return {'2018-01-01':1 , '2018-01-02': 0 } // 1 :放假,0:加班*/public static JSONObject calcHolidays(Date day , Integer type){//type = 1 春节,国庆 ; 2  除夕;3 其他Calendar thatcal = Calendar.getInstance();thatcal.setTime(day);JSONObject result = new JSONObject();//春节往前调一天if(type == 1 && thatcal.get(Calendar.MONTH) < 6){thatcal.add(Calendar.DATE , -1);//春节前调的除夕不添加}else{result.put(SimpleUtil.dfDay(thatcal.getTime()) , 1);//当天一定放假}switch(thatcal.get(Calendar.DAY_OF_WEEK)){//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  26      27      28      29      30      31(假)   1(假)         // 25      26      27      28      29      30(班)   31(除夕)
//  2(假)    3       4       5       6       7       8             //    1(假)    2(假)    3(假)    4(假)    5(假)    6(假)    7(班)case 1 : //周日if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, -8);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, 2);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  25      26      27      28      29      30(假)   31(假)        // 24      25      26      27      28      29(班)   30(班))
//  1(假)    2       3       4       5       6       7             //    31(除夕)1(假)  2(假)    3(假)    4(假)    5(假)    6(假)case 2 : //周一if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, -8);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  24      25      26      27      28      29(班)   30(假)        // 30      31(除夕)1(假)  2(假)    3(假)    4(假)    5(假)  <-  29(班)
//  31(假)   1(假)    2       3       4       5       6             //    6(假)    7       8       9       10      11(班)   12case 3: //周二if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, -8);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 13);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  23      24      25      26      27      28(班)   29(班)        // 29      30      31(除夕)1(假)  2(假)    3(假)    4(假)  <-  28(班)
//  30(假)   31(假)   1(假)    2       3       4       5             //    5(假)    6(假)    7       8       9       10(班)   11case 4 : //周三if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, -9);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 13);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, -1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  29      30      31      1(假)    2(假)    3(假)    4(班)         // 28      29      30      31(除夕)1(假)  2(假)    3(假)  <-  27(班)
//  5       6       7       8       9       10      11            //    4(假)    5(假)    6(假)    7       8       9(班)    10case 5 : //周四if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, -10);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 13);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  28      29      30      31      1(假)    2(假)    3(假)         // 27      28      29      30      31(除夕)1(假)  2(假)  <-  26(班)
//  4       5       6       7       8       9       10            //    3(假)    4(假)    5(假)    6(假)    7       8(班)    9case 6 : //周五if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, -11);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 13);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}break;//  周一  周二  周三  周四  周五  周六  周日          //  周一  周二  周三  周四  周五  周六  周日
//  27      28      29      30      31(假)   1(假)    2(假)         // 26      27      28      29      30      31(除夕)1(假)
//  3       4       5       6       7       8       9             //    2(假)    3(假)    4(假)    5(假)    6(假)    7(班)    8(班)case 7 : // 周六if(type == 1){for(int i = 0 ; i < 6 ; i++){thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 0);}else if(type == 3) {thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);thatcal.add(Calendar.DATE, 1);result.put(SimpleUtil.dfDay(thatcal.getTime()), 1);}break;}return result;}

获取国庆放假加班信息(记录)相关推荐

  1. 复制目录及目录下的所有文件的批处理_国庆放假你加班?1分钟新建1000个文件夹,有此技能保证不加班...

    一年一度的国庆节马上就到了,上班族望穿秋水的长假终于来了. 放几天假?准备去哪里浪,行程都安排好了吗? 每年国庆长假都是有人欢喜有人忧,因为每年国庆总有那么些"苦逼"的加班族,看着 ...

  2. Java获取照片的Exif信息,并解析GPS

    Java获取照片的Exif信息,并解析GPS 1. 效果图 2. 什么是Exif? 3. 源代码 参考 ❤️ 这篇博客将介绍什么EXIF,以及如何用Java语言读取Exif信息,并转换经纬度为位置信息 ...

  3. php获得注册信息,PHP网络编程:获取用户的注册信息[2]

    PHP网络编程:获取用户的注册信息[2]以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!     --此文章摘自<P ...

  4. python获取原图GPS位置信息,轻松得到你的活动轨迹

    点击上方"AI搞事情"关注我们 一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的 ...

  5. ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB

    在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通 ...

  6. android 获取apk的版本信息

    今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /*** 得到当前应用版本名称的方法* * @param c ...

  7. 程序员过关斩将--要想获取我的用户信息,就得按照规矩来

    菜菜君,我又来啦 又有什么事吗? 我按照你上篇文章写的JWT的方式已经把网站认证写完了,而且效果还不错 那恭喜你呀,下次面试又多了一项技能 不过,现在又有一个问题,我做的系统有一个合作商想要利用我们的 ...

  8. sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息

    sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...

  9. 获取对象的接口信息(方法/属性/事件)(VB6代码)

    要不是WS的超级绿豆提起这东西,我还不知道呢.... 真是个好玩意!!能列出一个对象的接口,包括方法,属性,事件.....微软直接做了啊. 记录一下,以后要用到时免得忘了: Option Explic ...

最新文章

  1. 第一个 Mybatis 程序(CURD操作)
  2. Windows 服务器开机自启动
  3. 前端处理带t的时间_大厂实践:如何优雅的监控前端页面性能
  4. 详解Java中的clone方法 -- 原型模式
  5. MIT-JOS系列1:实模式和保护模式下的段寻址方式
  6. 计算机专业做产品,非计算机专业如何做产品经理?
  7. Java测试驱动开发--总结
  8. influxdb删除某一列(tag或者field)
  9. 撒贝宁探班威马体验百度Apollo L4级自动驾驶 感慨:确实震撼
  10. 证券期货业信息系统安全等级保护基本要求》送审
  11. SpringMVC:学习笔记(2)——RequestMapping及请求映射
  12. [Linux] 获取Shell脚本自身所在位置的绝对路径;
  13. python3.4 安装numpy报错_python安装numpy报错怎么解决
  14. 组态软件及其应用方式
  15. 后台管理系统之用JQuery-validate做表单验证
  16. Python实现箱形图的绘制
  17. 华硕FX63VM笔记本bios如何设置U盘启动
  18. spring源码阅读笔记09:循环依赖
  19. Just Do IT. - 收藏集 - 掘金
  20. 局域网文件共享的几种方法

热门文章

  1. Netty-SocketIO:最好用的Java版即时消息推送
  2. 7-9 sdut-九九乘法表分数7-10 sdut-sel-1 R-D先生生日(分支结构)
  3. Spring Boot(1)——开发你的第一款Spring Boot应用(Edition1)
  4. Linux之经典互联网架构
  5. [填坑]解决PL2303HXA自2012已停产,请联系供货商
  6. 计算机科学属与a类吗,双一流大学名单及学科 a类b类有什么区别
  7. 海康萤石NTP时间不同步问题思路X5C
  8. 一个超全的数学资源网站(转贴)
  9. java-net-php-python-ssm担保系统项目管理系统计算机毕业设计程序
  10. 冷链物流园区数字化设计方案