背景

项目中有一个计算工作日的需求。
网上也没找到合适的。
所以决定动手写一个。

思路

根据国务院的放假安排维护一张放假表

然后就可以计算某个日期是不是工作日,和从某天计算向前(向后)多少天以后的工作日

为了维护方便,使用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相关推荐

  1. 用java写一个算工作日期的功能(考虑到节假日以及补班的情况)

    最近公司需要用java写一个算工作日的功能,简单说说我的实现过程跟思路,以供各位参考,大牛勿喷. 基本思路:在数据库先创建一个表,在表中初始化一年中的假期.需要补班等数据(因为每一年放假.补办安排都不 ...

  2. 用java写一个判断身份验证是否过期

    要用 Java 写一个判断身份验证是否过期,可以使用 Java 的日期和时间 API,例如:java.time 包中的 Instant 类. 首先,需要存储身份验证的创建时间,并在每次请求时与当前时间 ...

  3. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  4. 怎样用java写一个简单的文件复制程序

    怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...

  5. java文件客户端下载_使用Java写一个minio的客户端上传下载文件

    标签:color   ati   tty   java   system   wired   format   media   param 前言: 确保已经安装了minio的服务端 代码: pom.x ...

  6. java实现迷你计算机,用JAVA写一个迷你编辑器.doc

    用JAVA写一个迷你编辑器 用JAVA编写一个迷你编辑器 WINDOWS的记事本程序是非常方便的一个文字处理工具,用它来编辑纯文本文件快捷而灵巧.我用JAVA写了一个编辑器程序,模仿"记事本 ...

  7. 用java写一个日历_使用JAVA写一个简单的日历

    JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...

  8. 面试必问:用 Java 写一个内存泄漏程序

    编译:ImportNew/唐尤华 原文链接:stackoverflow.com/questions/6470651/creating-a-memory-leak-with-java 问题: 刚参加的一 ...

  9. python restful api_用Python语言写一个restful API

    本文主要向大家介绍了用Python语言写一个restful API,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. """ package.modul ...

最新文章

  1. 解题报告:luogu P2341 受欢迎的牛(Tarjan算法,强连通分量判定,缩点,模板)
  2. 柱形图无数据可选中_这种漂亮的“连体”柱形图,99%的人不会做!
  3. C++创建对象:栈和堆的区别
  4. Java笔记11-【异常、线程】
  5. 丘处机《摄生消息论》(转)
  6. JP摩根预测:诺基亚2017年净利润将达14.21亿美元
  7. 可以多次使用同一个hbitmap吗_求婚钻戒和结婚钻戒可以是同一个吗?意义戴法各不同,别胡乱混淆...
  8. php编码函数 base58,php – Base58编码Peercoin公钥的步骤
  9. IOS微信API异常:unrecognized selector sent to instance 0x17005c9b0‘
  10. Xpath轴与步长应用:取某节点下所有子孙节点里的文本内容
  11. 浅谈web架构之架构设计
  12. 印第安纳大学计算机语言学,语言学
  13. 安卓没有第三方rec获取root教程,成功率90%
  14. 使用Matplotlib美化和修饰图形
  15. ie浏览器透明背景设置
  16. python stacktrace_pystack--python stack trace--让python打印线程栈信息
  17. RedisCluster redis集群配置
  18. 《F4+2—团队项目设计完善编码测试》
  19. 三种典型电气减压比例阀线性度和短期重复性的对比考核试验
  20. python实现生成word文档并转为pdf

热门文章

  1. 绿色时尚个人简历求职竞聘PPT模板
  2. 微信流量主小程序源码万能工具箱+完整搭建教程
  3. 资源-能力-价值模型(RCV模型)
  4. uniapp + vue 2.0 + uView form带验证的表单模板
  5. “GNSSOPDS”数据下载程序介绍
  6. miracl常用函数手册
  7. java jackson gson_Jackson vs Gson
  8. 思迈特软件Smartbi:稳健发展的证券公司如何打造“智慧风控”体系
  9. 洞察数字城市——监控易雪亮工程智慧运维
  10. 敢为天下先,邮储银行“新核心”构建与落地之路