获取指定日期所在周的每一天的日期(周一,周二,周三,周四,周五到周末 )
最近项目用到,特此记录。
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;}}
获取指定日期所在周的每一天的日期(周一,周二,周三,周四,周五到周末 )相关推荐
- PHP获取时间戳、获取天周月的起始时间、指定时间所在周、指定时间的各个周等相关函数
目录 一.时间戳和日期互相转换 二.PHP获取今日.昨日.上周.本周.上月.本月的起始时间戳 三.获取当前周的每天的起始时间 四.获取周的起始时间 1.根据指定时间获取所在周的起始时间和结束时间 2. ...
- calendar获取本周一的日期_Swift - 获取本周(或指定日期所在周)的第一天、最后一天日期...
原来我写过一篇文章介绍如何计算当月.当年.或者指定年月的第一天.最后一天日期(点击查看).有网友问要怎么得到指定周的的第一天.最后一天日期.下面我通过代码进行演示. 一.获取本周的第一天.最后一天日期 ...
- 【mysql】获取指定日期是当年第几周,指定日期所在周的开始和结束日期
描述 最近在刷mysql的题目,遇到指定日期是当年第几周的问题. 解决 0.总结 先总结,具体使用和区别看下文: # 一.返回第几周 select date_format('2023-01-01',' ...
- Calendar获取日期所在周、月份第一天、最后一天以及前一周内所有时间
目录 前言 1.获取指定日期所在周的第一天和最后一天 2.获取指定日期所在月份的第一天和最后一天 3.获取指定日期前一周所有时间 前言 项目中经常使用到获取日期所在当前周.月份第一天.最后一天以及指定 ...
- Sql Server 指定日期所在周的第一天和最后一天
Declare @i Int = 0 ; While @i < 7BeginSet @i += 1 ;Set DateFirst @i ;Declare @dt DateTime = '2019 ...
- mysql日期返回周一_MYSQL如何获得指定日期所在周周一的日期?
你的位置: 问答吧 -> PHP基础 -> 问题详情 MYSQL如何获得指定日期所在周周一的日期? 如何获得指定日期所在周周一的日期?比如如何获得本周周一的日期? 作者: 十月冷风 发布时 ...
- Java获取指定月份第一周第一天
Java获取指定月份第一周第一天 思路: 1.获取当前月份第一天 2.获取第一天对应周几 3.根据周几减去对应天数得到指定日期 @Testpublic void test2(){Date lastWe ...
- Vue获取当前日期时间、获取指定时间的前、后多少天的日期
https://blog.csdn.net/ForeverBana/article/details/103472751 Vue获取当前日期 https://blog.csdn.net/weixin_ ...
- Java获取指定日期所在周的周一和周日的日期
原来开发里很少有时间相关的开发任务,Calendar日历类用的太少,随手写的记录一下. 需求:判断用户当周是否已经提交过数据,按周一至周日为一周期来算 public static void main( ...
最新文章
- java反射机制的调用
- 【机器视觉】 dev_display算子
- 红帽企业虚拟化平台RHEV中WINDOWS 虚拟机如何安装 GUEST代理和驱动
- python函数学习1
- “约见”面试官系列之常见面试题之第一百零五篇之v-if与v-show(建议收藏)
- 利用闭包实现onclick事件传递参数
- 要素集获取要素_OGC的网络要素服务(WFS)(持续更新。。。)
- 华为手机百度云息屏后停止下载_让客厅成为娱乐中心,华为智慧屏S系列轻松就能做到...
- scrapy 爬取大型图片网站(http://5442.com/)
- 009.查找手机电话簿【散列表】
- FRM P1B4笔记:Valuation and Risk Models
- 大学计算机实验6实验报告,东华大学计算机病毒课实验六宏病毒实验报告
- Golang源码学习----gin框架简单阅读
- 3W-60W恒流LED驱动电源AH3103
- CCS使用教程05:CCS8.0常用菜单
- 数据质量分析之信息调研
- Adobe Lightroom Classic CC2018v7.5新版导入预设方法
- 1、测试诊断软件工具大集合!
- Latex参考文献软件推荐
- 每个程序员都需要知道一些游戏网络知识
热门文章
- 一行代码将网页变成灰色
- Qt QVector简单用法
- 实现微信公众号发送消息给指定用户
- linux suid提权原理,linux关于suid提权笔记
- gcc 编译引用头文件
- 12个原因让你知道微信小程序在2018年大连发展更大!
- 此程序将从您的计算机删除adobe,Adobe 强烈建议立即删除 Flash Player ,苹果 macOS 电脑如何卸载...
- python人像_python 使用OpenCV进行简单的人像分割与合成
- IOS OpenGL ES GPUImage 色彩加深混合 GPUImageColorBurnBlendFilter
- 运动排行榜日行9万步,背后原来是模拟器作弊