最近项目用到,特此记录。

public class Test {public static void main(String[] args) {System.out.println(getNeedDate());System.out.println(getLastDayOfWeek(getNeedDate()));System.out.println(getFirstDayOfWeek(getNeedDate()));String[] weekByDate = getWeekByDate(getNeedDate());System.out.println(Arrays.toString(weekByDate));}/*** 根据当前日期获取三周后日期*/public static Date getNeedDate(){Calendar calendar = Calendar.getInstance();calendar.add(Calendar.DAY_OF_MONTH,21);return calendar.getTime();}/*** 获取指定日期所在周的周一** @param date      日期*/public static String getFirstDayOfWeek(Date date) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(date);if (c.get(Calendar.DAY_OF_WEEK) == 1) {c.add(Calendar.DAY_OF_MONTH, -1);}c.add(Calendar.DATE, c.getFirstDayOfWeek() - c.get(Calendar.DAY_OF_WEEK) + 1);return simpleDateFormat.format(c.getTime());}/*** 获取指定日期所在周的周日** @param date      日期*/public static String getLastDayOfWeek(Date date) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();c.setTime(date);// 如果是周日直接返回if (c.get(Calendar.DAY_OF_WEEK) == 1) {return simpleDateFormat.format(date);}c.add(Calendar.DATE, 7 - c.get(Calendar.DAY_OF_WEEK) + 1);return simpleDateFormat.format(c.getTime());}/*** 获取指定日期所在周的每一天的日期(周一,周二,周三。。。)* @param time* @return*/private static String [] getWeekByDate(Date time) {String [] week =  new String[7];SimpleDateFormat sdf = new SimpleDateFormat("dd日"); // 设置时间格式Calendar cal = Calendar.getInstance();cal.setTime(time);// 判断要计算的日期是否是周日,如果是则减一天计算周六的,否则会出问题,计算到下一周去了int dayWeek = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天if (1 == dayWeek) {cal.add(Calendar.DAY_OF_MONTH, -1);}System.out.println("要计算日期为:" + sdf.format(cal.getTime())); // 输出要计算日期cal.setFirstDayOfWeek(Calendar.MONDAY);// 设置一个星期的第一天,按中国的习惯一个星期的第一天是星期一int day = cal.get(Calendar.DAY_OF_WEEK);// 获得当前日期是一个星期的第几天cal.add(Calendar.DATE, cal.getFirstDayOfWeek() - day);// 根据日历的规则,给当前日期减去星期几与一个星期第一天的差值for (int i = 0; i < week.length; i++) {week[i] = sdf.format(cal.getTime());cal.add(Calendar.DATE, 1);}return week;}}

获取指定日期所在周的每一天的日期(周一,周二,周三,周四,周五到周末 )相关推荐

  1. PHP获取时间戳、获取天周月的起始时间、指定时间所在周、指定时间的各个周等相关函数

    目录 一.时间戳和日期互相转换 二.PHP获取今日.昨日.上周.本周.上月.本月的起始时间戳 三.获取当前周的每天的起始时间 四.获取周的起始时间 1.根据指定时间获取所在周的起始时间和结束时间 2. ...

  2. calendar获取本周一的日期_Swift - 获取本周(或指定日期所在周)的第一天、最后一天日期...

    原来我写过一篇文章介绍如何计算当月.当年.或者指定年月的第一天.最后一天日期(点击查看).有网友问要怎么得到指定周的的第一天.最后一天日期.下面我通过代码进行演示. 一.获取本周的第一天.最后一天日期 ...

  3. 【mysql】获取指定日期是当年第几周,指定日期所在周的开始和结束日期

    描述 最近在刷mysql的题目,遇到指定日期是当年第几周的问题. 解决 0.总结 先总结,具体使用和区别看下文: # 一.返回第几周 select date_format('2023-01-01',' ...

  4. Calendar获取日期所在周、月份第一天、最后一天以及前一周内所有时间

    目录 前言 1.获取指定日期所在周的第一天和最后一天 2.获取指定日期所在月份的第一天和最后一天 3.获取指定日期前一周所有时间 前言 项目中经常使用到获取日期所在当前周.月份第一天.最后一天以及指定 ...

  5. Sql Server 指定日期所在周的第一天和最后一天

    Declare @i Int = 0 ; While @i < 7BeginSet @i += 1 ;Set DateFirst @i ;Declare @dt DateTime = '2019 ...

  6. mysql日期返回周一_MYSQL如何获得指定日期所在周周一的日期?

    你的位置: 问答吧 -> PHP基础 -> 问题详情 MYSQL如何获得指定日期所在周周一的日期? 如何获得指定日期所在周周一的日期?比如如何获得本周周一的日期? 作者: 十月冷风 发布时 ...

  7. Java获取指定月份第一周第一天

    Java获取指定月份第一周第一天 思路: 1.获取当前月份第一天 2.获取第一天对应周几 3.根据周几减去对应天数得到指定日期 @Testpublic void test2(){Date lastWe ...

  8. Vue获取当前日期时间、获取指定时间的前、后多少天的日期

    https://blog.csdn.net/ForeverBana/article/details/103472751  Vue获取当前日期 https://blog.csdn.net/weixin_ ...

  9. Java获取指定日期所在周的周一和周日的日期

    原来开发里很少有时间相关的开发任务,Calendar日历类用的太少,随手写的记录一下. 需求:判断用户当周是否已经提交过数据,按周一至周日为一周期来算 public static void main( ...

最新文章

  1. java反射机制的调用
  2. 【机器视觉】 dev_display算子
  3. 红帽企业虚拟化平台RHEV中WINDOWS 虚拟机如何安装 GUEST代理和驱动
  4. python函数学习1
  5. “约见”面试官系列之常见面试题之第一百零五篇之v-if与v-show(建议收藏)
  6. 利用闭包实现onclick事件传递参数
  7. 要素集获取要素_OGC的网络要素服务(WFS)(持续更新。。。)
  8. 华为手机百度云息屏后停止下载_让客厅成为娱乐中心,华为智慧屏S系列轻松就能做到...
  9. scrapy 爬取大型图片网站(http://5442.com/)
  10. 009.查找手机电话簿【散列表】
  11. FRM P1B4笔记:Valuation and Risk Models
  12. 大学计算机实验6实验报告,东华大学计算机病毒课实验六宏病毒实验报告
  13. Golang源码学习----gin框架简单阅读
  14. 3W-60W恒流LED驱动电源AH3103
  15. CCS使用教程05:CCS8.0常用菜单
  16. 数据质量分析之信息调研
  17. Adobe Lightroom Classic CC2018v7.5新版导入预设方法
  18. 1、测试诊断软件工具大集合!
  19. Latex参考文献软件推荐
  20. 每个程序员都需要知道一些游戏网络知识

热门文章

  1. 一行代码将网页变成灰色
  2. Qt QVector简单用法
  3. 实现微信公众号发送消息给指定用户
  4. linux suid提权原理,linux关于suid提权笔记
  5. gcc 编译引用头文件
  6. 12个原因让你知道微信小程序在2018年大连发展更大!
  7. 此程序将从您的计算机删除adobe,Adobe 强烈建议立即删除 Flash Player ,苹果 macOS 电脑如何卸载...
  8. python人像_python 使用OpenCV进行简单的人像分割与合成
  9. IOS OpenGL ES GPUImage 色彩加深混合 GPUImageColorBurnBlendFilter
  10. 运动排行榜日行9万步,背后原来是模拟器作弊