Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几

//获得入参的日期
Calendar cd = Calendar.getInstance();
cd.setTime(date);// 获得入参日期是一周的第几天
int dayOfWeek = cd.get(Calendar.DAY_OF_WEEK);
// 获得入参日期相对于下周一的偏移量(在国外,星期一是一周的第二天,所以下周一是这周的第九天)
// 若入参日期是周日,它的下周一偏移量是1
int nextMondayOffset = dayOfWeek == 1 ? 1 : 9 - dayOfWeek;
// 设置不同的日期只要使用不同的偏移量即可
// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek
// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek
// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek
// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek
// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek
// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek// 增加到入参日期的下一个周几那天
cd.add(Calendar.DAY_OF_MONTH, nextMondayOffset);
return cd.getTime();

因为CSDN需要登录复制代码框,我把核心代码放在这里:

// 设置不同的日期只要使用不同的偏移量即可
// 周二: val nextWednesdayOffset = if (dayOfWeek < 3) 3-dayOfWeek else 10 - dayOfWeek
// 周三: val nextWednesdayOffset = if (dayOfWeek < 4) 4-dayOfWeek else 11 - dayOfWeek
// 周四: val nextWednesdayOffset = if (dayOfWeek < 5) 5-dayOfWeek else 12 - dayOfWeek
// 周五: val nextWednesdayOffset = if (dayOfWeek < 6) 6-dayOfWeek else 13 - dayOfWeek
// 周六: val nextWednesdayOffset = if (dayOfWeek < 7) 7-dayOfWeek else 14 - dayOfWeek
// 周日: val nextWednesdayOffset = if (dayOfWeek == 1) 0 else 8 - dayOfWeek

另外,还可以设置 时分秒,增加以下代码即可

// 设置 03:00:00
cd.set(Calendar.HOUR_OF_DAY,3)
cd.set(Calendar.MINUTE, 0)
cd.set(Calendar.SECOND, 0)
cd.set(Calendar.MILLISECOND, 0)

Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几相关推荐

  1. java获取当前时间代码(适合于是springboot+vue+java)

    java获取当前时间代码(适合于是springboot+vue+java) /*** 获取当前的的动态时间格式*/Calendar calendar = Calendar.getInstance(); ...

  2. 获取下一个周几的日期

    获取下一个周几的日期 直接上代码: Integer day = null; //初始化,值为1~7,分别代表周一~周日 LocalDate weekDate = LocalDate.now().wit ...

  3. 通过时间戳,计算距离下一个周二和周六的时间距离

    时间戳是世界时间,通过它计算小时会比东八区少8个小时,得加8才是北京时间: -_-.,我竟然不知道.但是getHours()方法拿到的是电脑本地的时间. 踩了个坑,记录下避免下次忘记. 得➕8 得➕8 ...

  4. js获取当前时间,当前小时、分钟、秒,当前日期、星期数等总结

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-???? ...

  5. 获取自然周;一年中总的周数,以及当前日期处于第几周

    https://dayjs.fenxianglu.cn/ 插件 主要代码: let year = dayjs().year() // 默认今年 let date = dayjs().format('Y ...

  6. java获取系统时间的几种方法_获取当前时间的几种方法整理(Java)

    在java中有很多方法可以取到系统时间,记一下最简单的那种 //使用Calendar 获取当前日期和时间 Calendar calendar = Calendar.getInstance(); // ...

  7. 速卖通 授权流程 java_外贸开发,用java调用速卖通api第一步,token的获取。

    第一步 定义速卖通api的常量 public String client_id; public String client_key; public String site; 第二步 获取登陆的uRL ...

  8. java文件按时间排序_如何按日期在java目录中排序文件?

    参见英文答案 > Best way to list files in Java, sorted by Date Modified?                                 ...

  9. java获取0001、0009、000Z、A99Z、A9A0...到ZZZZ的下一个流水号算法(字母加数字)

    业务需求:从0000开始到ZZZZ: 显示数字0~9,再接上A ~ Z(跳过大写的字母O); 9结束之后为A: Z结束为0,同时前一位进一: 不限字符串长度: 举例:A999的下一位为A99A A99 ...

最新文章

  1. 6月Python热文Top10,精选自1000篇文章
  2. [Python微信开发] 一.itchat入门知识及微信自动回复、微信签名词云分析
  3. dw新建php文件自动生成html,dw如何新建css规则
  4. JavaScript 用typeof来判断是否是对象的弊端
  5. 持久化框架数据持久化框架(JPA)及其具体实现
  6. docker 制作本地镜像_Docker系列-(2) 镜像制作与发布
  7. 通过exescope软件查看DLL的情况
  8. 推荐一些学习SEO的优秀书籍附pdf电子书下载地址
  9. 人口流动趋势matlab,中国人口增长模型(论文).doc
  10. 黑苹果英特尔板载网卡驱动 IntelMausiEthernet.kext 2.5.0
  11. 【Xilinx FPGA】vivado工具下载安装
  12. 【工科数学分析】2021-10-07-工科数学分析叒复习(三)
  13. 关于普中科技程序烧录软件PZ-ISP与驱动安装程序SETUP.exe之间血与泪的教训
  14. 【VLAN配置及具体解析(基于接口的VLAN划分-access、trunk和hybrid,基于Mac地址的VLAN划分)】-20211201
  15. html调色板快捷键,在线网页调色板
  16. 什么是知识库管理系统?如何搭建企业知识库系统?
  17. 【热点资讯】哪所英国大学最适合你?
  18. jenkins插件下载缓慢
  19. 图片识别项目 是商品包装识别分类
  20. 欺骗的艺术——第二部分(8)

热门文章

  1. UUID的使用及其原理
  2. 【阶段小结】协同开发——这学期的Git使用小结
  3. 初试linux编译(ubuntu+vim)+玩转智能蛇
  4. pip install nmslib 失败 (error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1)
  5. Linux shell 学习笔记(6)— vim 编辑器使用方法及技巧
  6. spark,hadoop区别
  7. LeetCode简单题之猜数字大小
  8. linux C++打包程序总结
  9. MindSpore静态图语法支持
  10. TinyML-TVM是如何驯服Tiny的(上)