用java写一个工作日API
背景
项目中有一个计算工作日的需求。
网上也没找到合适的。
所以决定动手写一个。
思路
根据国务院的放假安排维护一张放假表
然后就可以计算某个日期是不是工作日,和从某天计算向前(向后)多少天以后的工作日
为了维护方便,使用fullcalendar开发了一个休息日标记的页面
点击标记节假日,再点击取消标记
通过这个页面我们可以将今年的所有节假日(包括周末)都存到数据库。
新版的界面
计算特定日子前后的工作日
比如说今天之后5个工作日是哪天
思路很简单,请看代码
public String afterDays(String date, Integer days) throws ParseException {// 控制向前还是向后boolean position = days > 0 ? true : false;int size = Math.abs(days);while (size > 0) {if (position) {date = DateUtils.plusDays(date, 1);} else {date = DateUtils.plusDays(date, -1);}// 是工作日if (isWorkDay(date)) {size--;}}return date;}
试验一下
项目已经托管在github上
地址
https://github.com/peer44/workday
参考文献
感谢这两位老铁,参考添加了农历
http://feifei.im/archives/168
https://blog.csdn.net/guogrower/article/details/79023423
用java写一个工作日API相关推荐
- 用java写一个算工作日期的功能(考虑到节假日以及补班的情况)
最近公司需要用java写一个算工作日的功能,简单说说我的实现过程跟思路,以供各位参考,大牛勿喷. 基本思路:在数据库先创建一个表,在表中初始化一年中的假期.需要补班等数据(因为每一年放假.补办安排都不 ...
- 用java写一个判断身份验证是否过期
要用 Java 写一个判断身份验证是否过期,可以使用 Java 的日期和时间 API,例如:java.time 包中的 Instant 类. 首先,需要存储身份验证的创建时间,并在每次请求时与当前时间 ...
- 用java写一个简单的区块链(下)
用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...
- 怎样用java写一个简单的文件复制程序
怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...
- java文件客户端下载_使用Java写一个minio的客户端上传下载文件
标签:color ati tty java system wired format media param 前言: 确保已经安装了minio的服务端 代码: pom.x ...
- java实现迷你计算机,用JAVA写一个迷你编辑器.doc
用JAVA写一个迷你编辑器 用JAVA编写一个迷你编辑器 WINDOWS的记事本程序是非常方便的一个文字处理工具,用它来编辑纯文本文件快捷而灵巧.我用JAVA写了一个编辑器程序,模仿"记事本 ...
- 用java写一个日历_使用JAVA写一个简单的日历
JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...
- 面试必问:用 Java 写一个内存泄漏程序
编译:ImportNew/唐尤华 原文链接:stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java 问题: 刚参加的一 ...
- python restful api_用Python语言写一个restful API
本文主要向大家介绍了用Python语言写一个restful API,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. """ package.modul ...
最新文章
- 解题报告:luogu P2341 受欢迎的牛(Tarjan算法,强连通分量判定,缩点,模板)
- 柱形图无数据可选中_这种漂亮的“连体”柱形图,99%的人不会做!
- C++创建对象:栈和堆的区别
- Java笔记11-【异常、线程】
- 丘处机《摄生消息论》(转)
- JP摩根预测:诺基亚2017年净利润将达14.21亿美元
- 可以多次使用同一个hbitmap吗_求婚钻戒和结婚钻戒可以是同一个吗?意义戴法各不同,别胡乱混淆...
- php编码函数 base58,php – Base58编码Peercoin公钥的步骤
- IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0‘
- Xpath轴与步长应用:取某节点下所有子孙节点里的文本内容
- 浅谈web架构之架构设计
- 印第安纳大学计算机语言学,语言学
- 安卓没有第三方rec获取root教程,成功率90%
- 使用Matplotlib美化和修饰图形
- ie浏览器透明背景设置
- python stacktrace_pystack--python stack trace--让python打印线程栈信息
- RedisCluster redis集群配置
- 《F4+2—团队项目设计完善编码测试》
- 三种典型电气减压比例阀线性度和短期重复性的对比考核试验
- python实现生成word文档并转为pdf
热门文章
- 绿色时尚个人简历求职竞聘PPT模板
- 微信流量主小程序源码万能工具箱+完整搭建教程
- 资源-能力-价值模型(RCV模型)
- uniapp + vue 2.0 + uView form带验证的表单模板
- “GNSSOPDS”数据下载程序介绍
- miracl常用函数手册
- java jackson gson_Jackson vs Gson
- 思迈特软件Smartbi:稳健发展的证券公司如何打造“智慧风控”体系
- 洞察数字城市——监控易雪亮工程智慧运维
- 敢为天下先,邮储银行“新核心”构建与落地之路