最近在做一个统计的相关功能,由于数据库表的设计比较特殊,其中有一个字段表示星期几。于是写了一个统计两日期之间星期一至星期日个数的功能。

入参形式为开始与结束对应时间的时间戳。

有不足之处,希望大佬指正。下面贴代码:

/*** 获取两时间之间星期一至星期日的个数** @param startdate 开始时间戳* @param enddate   结束时间戳* @return list*/public static List<Integer> getDayNum(long startdate, long enddate) {//初始化列表,0-6对应星期一至星期日List<Integer> list = new ArrayList<>(List.of(0, 0, 0, 0, 0, 0, 0));//过零点算作新的一天startdate = startdate + 28800000L;enddate = enddate + 28800000L;//gap表示两时间戳间含括多少天int gap = (int) (enddate / 86400000 - startdate / 86400000 + 1);Calendar temp = Calendar.getInstance();for (int i = 0; i < gap; i++) {//逐天递增temp.setTimeInMillis(startdate + i * 86400000L);int day = temp.get(Calendar.DAY_OF_WEEK);switch (day) {case 2 -> list.set(0, list.get(0) + 1);case 3 -> list.set(1, list.get(1) + 1);case 4 -> list.set(2, list.get(2) + 1);case 5 -> list.set(3, list.get(3) + 1);case 6 -> list.set(4, list.get(4) + 1);case 7 -> list.set(5, list.get(5) + 1);case 1 -> list.set(6, list.get(6) + 1);}}return list;}

统计两日期之间星期一至星期日个数相关推荐

  1. T-SQL 2 Tips: 1.计算任意两日期之间的周一到周日分别各有几个! 2.根据出生日期计算精确年龄!...

    这两个小技巧,不写不知道,一写吓一跳! 都是看似简单,实际做起来就懵,得仔细想一想,才能写对! 凡是有日期运算的程序都要细心哦! 先说第二个: 2.根据出生日期精确计算年龄!   所谓计算精确年龄就是 ...

  2. 关于计算两日期之间经过多少天的超巧妙算法(转载)

    转载地址:https://www.cnblogs.com/cndccm/p/11974754.html 原创地址:https://blog.csdn.net/chinaeran/article/det ...

  3. 计算两日期之间差多少天----日期格式为:yyyy-mm-dd

    计算两日期之间差多少天 日期格式为yyyy-mm-dd //计算日期差值的方法: //计算日期差值的方法: function getDaysBetween(dateString1, dateStrin ...

  4. mysql 排除节假日_MYSQL 两日期之间的工作日(去掉周六日,不考虑节假日)_mysql...

    mysql 两日期之间的工作日(除去周六日,不考虑节假日) select (floor(days/7)*5+days%7 -case when 6 between wd and wd+days%7-1 ...

  5. Python计算两日期之间排除节假日与非上班时间的工作时间

    Python计算两日期之间排除节假日与非上班时间的工作时间 前言 一.基本思路 二.代码示例 总结 文章目录 前言 一.基本思路 二.代码示例 总结 前言 工作中遇见需要写UDF计算事项办理时间的需求 ...

  6. java:通过Calendar类正确计算两日期之间的间隔

    在开发Android应用时偶然需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlit ...

  7. 通过Calendar类正确计算两日期之间的间隔

    在开发时需要用到一个提示用户已用天数的功能,从实现上来看无非就是持久化存入用户第一次使用应用的时间firstTime(通过SharedPreferences .xml.sqlite等),当用户再次使用 ...

  8. 【excel】利用NETWORKDAYS.INTL函数计算两日期之间的工作日时间

    语法 NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) start_date 和 end_date:必需,要计算其差值的日期. ...

  9. java 跨年 周计算公式_如何跨年计算 两日期之间相隔的周数 with java8 time API

    ===============================2016年9月版 分割线======================================== 之前版本的我太simple了.. ...

最新文章

  1. 夯实JavaScript基础之prototype, __proto__, instanceof
  2. Docker官方Centos镜像下安装Elasticsearch【详细步骤】
  3. 新一代软件工程的标配:持续集成
  4. Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
  5. Auto Encoder再学习
  6. linux使用find命令_如何在Linux中使用FIND
  7. sudoku me_Java Sudoku解算器程序
  8. App架构设计经验谈:服务端接口的设计
  9. 冯 诺依曼计算机体系结构要点,冯诺依曼体系结构计算机的要点和工作过程
  10. WCF学习记录【一】
  11. B2C 和 C2C 你们是怎么区别的?
  12. java 将html转为word导出 (富文本内容导出word)
  13. 估值指标一把手——市盈率
  14. Intel服务器CPU背面信息,涨知识:英特尔服务器CPU编号是啥意思?
  15. 全硬件TCP/IP协议栈学习笔记(第十一天:FPGA+W5500 PING通)
  16. 微软android桌面壁纸,微软桌面(com.microsoft.launcher) - 6.210402.0.960830 - 应用 - 酷安
  17. mysql performance tuning_Performance Tuning MySQL
  18. Exiting on user Command
  19. 微信扫码---进入小程序指定页面(传参)
  20. oracle的几个服务含义,oracle 的几个服务

热门文章

  1. afe模拟前端的重要性_模拟前端afe的作用
  2. 人脸识别系统中的活体检测技术有哪些分类
  3. Transformer主干网络——DeiT保姆级解析
  4. 2016百度沸点榜单出炉 看看年度搜索报告有哪些
  5. 如何用R画折线图,散点图,平滑曲线图
  6. react -错误 Uncaught TypeError: react_dom_client__WEBPACK_IMPORTED_MODULE_1__.render is not a function
  7. 使用记录35_开通微信小游戏虚拟支付
  8. [汇编语言 IBM-PC]寻址方式配套习题
  9. 试卷代号:49242021年春季学期期末统一考试农业经济基础 试题
  10. STM32的引脚的配置