Java8获取年、月、周数据和某一天的开始结束时间
在Java8中使用 LocalDate 、LocalDateTime、TemporalAdjusters、TemporalField 获取 上周、上个月、去年、本周、本月、今年、下周、下个月、明年的相关数据
public static void main(String[] args) {DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");LocalDate today = LocalDate.now(); // 今天的日期LocalDate todayOfLastWeek = today.minusWeeks(1); // 上周的今天LocalDate todayOfLastMonth = today.minusMonths(1); // 上个月的今天LocalDate todayOfLastYear = today.minusYears(1); // 去年的今天LocalDate todayOfNextWeek = today.plusWeeks(1); // 下周的今天LocalDate todayOfNextMonth = today.plusMonths(1); // 下个月的今天LocalDate todayOfNextYear = today.plusYears(1); // 明年的今天System.out.println("今年的第一天:" + today.with(TemporalAdjusters.firstDayOfYear()).toString());System.out.println("今年的最后一天:" + today.with(TemporalAdjusters.lastDayOfYear()).toString());System.out.println("本月的第一天:" + today.with(TemporalAdjusters.firstDayOfMonth()).toString());System.out.println("本月的最后一天:" + today.with(TemporalAdjusters.lastDayOfMonth()).toString());System.out.println("本周第一天:"+getOneDayOfWeek(today, 1));System.out.println("本周最后一天:"+getOneDayOfWeek(today, 7));System.out.println("***********************************");System.out.println("去年的第一天:" + todayOfLastYear.with(TemporalAdjusters.firstDayOfYear()).toString());System.out.println("去年的最后一天:" + todayOfLastYear.with(TemporalAdjusters.lastDayOfYear()).toString());System.out.println("上个月的第一天:" + todayOfLastMonth.with(TemporalAdjusters.firstDayOfMonth()).toString());System.out.println("上个月的最后一天:" + todayOfLastMonth.with(TemporalAdjusters.lastDayOfMonth()).toString());System.out.println("上周第一天:"+getOneDayOfWeek(todayOfLastWeek,1));System.out.println("上周最后一天:"+getOneDayOfWeek(todayOfLastWeek,7));System.out.println("***********************************");System.out.println("明年的第一天:" + todayOfNextYear.with(TemporalAdjusters.firstDayOfYear()).toString());System.out.println("明年的最后一天:" + todayOfNextYear.with(TemporalAdjusters.lastDayOfYear()).toString());System.out.println("下个月的第一天:" + todayOfNextMonth.with(TemporalAdjusters.firstDayOfMonth()).toString());System.out.println("下个月的最后一天:" + todayOfNextMonth.with(TemporalAdjusters.lastDayOfMonth()).toString());System.out.println("下周第一天:"+ getOneDayOfWeek(todayOfNextWeek,1));System.out.println("下周最后一天:"+ getOneDayOfWeek(todayOfNextWeek,7));System.out.println("***********************************");System.out.println("某天的开始时间:" + dtf.format(LocalDateTime.of(today, LocalTime.MIN)));System.out.println("某天的结束时间:" + dtf.format(LocalDateTime.of(today, LocalTime.MAX)));}/*** 获取一周中的某一天日期* @param today 这周内任意一天的日期* @param day 想要获取一周中的第几天* @return LocalDate*/private static LocalDate getOneDayOfWeek(TemporalAccessor today, int day){TemporalField fieldIso = WeekFields.of(DayOfWeek.MONDAY, 1).dayOfWeek();LocalDate localDate = LocalDate.from(today);return localDate.with(fieldIso, day);}
打印结果:
今年的第一天:2021-01-01
今年的最后一天:2021-12-31
本月的第一天:2021-01-01
本月的最后一天:2021-01-31
本周第一天:2021-01-04
本周最后一天:2021-01-10
***********************************
去年的第一天:2020-01-01
去年的最后一天:2020-12-31
上个月的第一天:2020-12-01
上个月的最后一天:2020-12-31
上周第一天:2020-12-28
上周最后一天:2021-01-03
***********************************
明年的第一天:2022-01-01
明年的最后一天:2022-12-31
下个月的第一天:2021-02-01
下个月的最后一天:2021-02-28
下周第一天:2021-01-11
下周最后一天:2021-01-17
***********************************
某天的开始时间:2021-01-08 00:00:00
某天的结束时间:2021-01-08 23:59:59
技 术 无 他, 唯 有 熟 尔。
知 其 然, 也 知 其 所 以 然。
踏 实 一 些, 不 要 着 急, 你 想 要 的 岁 月 都 会 给 你。
Java8获取年、月、周数据和某一天的开始结束时间相关推荐
- python从tushare获取数据_python调用tushare获取股票月线数据
接口:monthly 描述:获取A股月线数据 限量:单次最大3700,总量不限制 积分:用户需要至少300积分才可以调取,具体请参阅本文最下方积分获取办法 注:tushare库下载和初始化教程,请查阅 ...
- lol3.10日服务器维护,英雄联盟3月10日更新维护时间 LOL10.5版本维护结束时间
英雄联盟3月10日更新维护几点结束?英雄联盟3月10日再次迎来更新,本次更新的内容是10.5版本.和原来的大版本更新一样,本次更新会进行停机维护.相信不少玩家都很想知道维护结束的时间和维护更新的内容吧 ...
- 获取每年的周数据 第几周 开始日及结束日 思路
public static void main(String[] args) {int year = 2023;SimpleDateFormat simpleDateFormat = new Simp ...
- Java8的LocalDate类用来获取年月日的开始结束时间,当前时间
Java8的LocalDate类用来获取年月日的开始结束时间,当前时间 文章目录 Java8的LocalDate类用来获取年月日的开始结束时间,当前时间 一.获取本日开始结束时间? 二.获取本周开始结 ...
- hutool日期工具类相关:获取某月所有周、某周的起止时间或所有日期、计算连续天数
目录 前言 实现 1.获取当月的所有周 2.根据指定的第几周,获取这周的开始.结束时间 3.获取当前月某一周的所有日期 4.多个日期中,计算最大的连续天数 5.判断指定日期是否在某个范围内 前言 最近 ...
- mysql获取当月数据_MySQL中获取天、周、月等数据
MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...
- MySQL中获取天、周、月等数据
MySQL中获取天.周.月等数据 1.今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 2.昨天 SELECT * FROM 表名 ...
- Java8 LocalDateTime 获取当前日周月年的起止时间
Java8 LocalDateTime 常见使用_获取当天.本周.本月.本季度.本年度起止时间 一.返回 LocalDateTime 格式的起止时间 二.返回 String 格式的起止时间 一.返回 ...
- mysql 一周一月_mysql查询当天、本周,本月,上一个月的数据
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...
最新文章
- 基于Mozilla Thunderbird的扩展开发(四)---修改Thunderbird源代码实现自动保存附件...
- Android开发之LisitView的图文并排效果实现(源代码分享)
- linux jemalloc 内存分配器 安装与使用
- 【Python-ML】非线性映射降维-KPCA方法-新样本映射
- 腾讯、百度、小米等7家互联网各大厂的中台建设怎么样了?
- ACM算法--spfa算法--最短路算法
- Thymeleaf模板引擎处理日期输入框回显问题type=“date“类型的坑 和 单选按钮、复选框的回显
- Android 内存泄漏分析指北
- Pytorch实战从入门到精通第一部分——手写字符识别全流程
- 回答朋友的问题(关于 RTEMS 学习)
- vue3.0项目创建
- linux与Windows查看路由
- u盘获取计算机管理员权限,使用U盘需要管理员权限
- Qt Creator下载安装以及Qt和Qt Creator的区别
- /usr/bin/xauth: file /home/wj/.Xauthority does not exist
- 【内网渗透】域横向PTHPTKPTT哈希票据传递
- 取消福昕阅读器的小手的向下的箭头
- Nintendo Switch在线订阅包含什么?
- AFNetworking 返回3840
- mysql sandbox_用mysql_sandbox建立快速测试环境