获取国庆放假加班信息(记录)
/*** 计算节假日当天,放假/加班的情况* 下面注释以元旦,春节为例* @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分钟新建1000个文件夹,有此技能保证不加班...
一年一度的国庆节马上就到了,上班族望穿秋水的长假终于来了. 放几天假?准备去哪里浪,行程都安排好了吗? 每年国庆长假都是有人欢喜有人忧,因为每年国庆总有那么些"苦逼"的加班族,看着 ...
- Java获取照片的Exif信息,并解析GPS
Java获取照片的Exif信息,并解析GPS 1. 效果图 2. 什么是Exif? 3. 源代码 参考 ❤️ 这篇博客将介绍什么EXIF,以及如何用Java语言读取Exif信息,并转换经纬度为位置信息 ...
- php获得注册信息,PHP网络编程:获取用户的注册信息[2]
PHP网络编程:获取用户的注册信息[2]以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! --此文章摘自<P ...
- python获取原图GPS位置信息,轻松得到你的活动轨迹
点击上方"AI搞事情"关注我们 一.图像EXIF信息 介绍 EXIF(Exchangeable image file format,可交换图像文件格式)是专门为数码相机的照片设定的 ...
- ASP.NET Core 实战:使用 NLog 将日志信息记录到 MongoDB
在项目开发中,日志系统是系统的一个重要组成模块,通过在程序中记录运行日志.错误日志,可以让我们对于系统的运行情况做到很好的掌控.同时,收集日志不仅仅可以用于诊断排查错误,由于日志同样也是大量的数据,通 ...
- android 获取apk的版本信息
今天,简单讲讲android如何获取apk的版本信息. 这个很简单,但是之前还是查找了资料,所以记录一下. 一.应用程序得到自己的版本信息 /*** 得到当前应用版本名称的方法* * @param c ...
- 程序员过关斩将--要想获取我的用户信息,就得按照规矩来
菜菜君,我又来啦 又有什么事吗? 我按照你上篇文章写的JWT的方式已经把网站认证写完了,而且效果还不错 那恭喜你呀,下次面试又多了一项技能 不过,现在又有一个问题,我做的系统有一个合作商想要利用我们的 ...
- sql 获取数据库字段信息_使用DBATools获取SQL数据库详细信息
sql 获取数据库字段信息 In the series of articles on DBATools, (see TOC at the bottom) we are exploring useful ...
- 获取对象的接口信息(方法/属性/事件)(VB6代码)
要不是WS的超级绿豆提起这东西,我还不知道呢.... 真是个好玩意!!能列出一个对象的接口,包括方法,属性,事件.....微软直接做了啊. 记录一下,以后要用到时免得忘了: Option Explic ...
最新文章
- 第一个 Mybatis 程序(CURD操作)
- Windows 服务器开机自启动
- 前端处理带t的时间_大厂实践:如何优雅的监控前端页面性能
- 详解Java中的clone方法 -- 原型模式
- MIT-JOS系列1:实模式和保护模式下的段寻址方式
- 计算机专业做产品,非计算机专业如何做产品经理?
- Java测试驱动开发--总结
- influxdb删除某一列(tag或者field)
- 撒贝宁探班威马体验百度Apollo L4级自动驾驶 感慨:确实震撼
- 证券期货业信息系统安全等级保护基本要求》送审
- SpringMVC:学习笔记(2)——RequestMapping及请求映射
- [Linux] 获取Shell脚本自身所在位置的绝对路径;
- python3.4 安装numpy报错_python安装numpy报错怎么解决
- 组态软件及其应用方式
- 后台管理系统之用JQuery-validate做表单验证
- Python实现箱形图的绘制
- 华硕FX63VM笔记本bios如何设置U盘启动
- spring源码阅读笔记09:循环依赖
- Just Do IT. - 收藏集 - 掘金
- 局域网文件共享的几种方法
热门文章
- Netty-SocketIO:最好用的Java版即时消息推送
- 7-9 sdut-九九乘法表分数7-10 sdut-sel-1 R-D先生生日(分支结构)
- Spring Boot(1)——开发你的第一款Spring Boot应用(Edition1)
- Linux之经典互联网架构
- [填坑]解决PL2303HXA自2012已停产,请联系供货商
- 计算机科学属与a类吗,双一流大学名单及学科 a类b类有什么区别
- 海康萤石NTP时间不同步问题思路X5C
- 一个超全的数学资源网站(转贴)
- java-net-php-python-ssm担保系统项目管理系统计算机毕业设计程序
- 冷链物流园区数字化设计方案