Java获取今天、本周、本月、本季度、上月、上一年的时间范围

这篇具有很好参考价值的文章主要介绍了Java获取今天、本周、本月、本季度、上月、上一年的时间范围。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、获取本月的第一天和最后一天

// 本月第一天
DateTime firstDay = DateUtil.beginOfMonth(new Date());
// 本月最后一条
Date lastDay = DateUtil.endOfMonth(new Date());

2、获取今天的时间范围

DateTime beginOfDay = DateUtil.beginOfDay(new Date()); // 2023-09-25 00:00:00
DateTime endOfDay = DateUtil.endOfDay(new Date()); // 2023-09-25 23:59:59

3、获取本周的第一天和最后一天

DateTime beginOfWeek = DateUtil.beginOfWeek(new Date());
Date endOfWeek=DateUtil.endOfWeek(new Date());

4、获取上个月的时间范围

LocalDate currentDate = LocalDate.now(); // 当前日期

LocalDate previousMonthDate = currentDate.minusMonths(1); // 上个月日期
Month previousMonth = previousMonthDate.getMonth(); // 上个月的月份
int previousMonthYear = previousMonthDate.getYear(); // 上个月的年份
boolean leapYear = false;
// 判断是否为闰年
if(previousMonthYear%4 == 0  && previousMonthYear%100 !=0  || previousMonthYear%400 == 0){
	leapYear = true;
}
// 上个月的开始时间
LocalDateTime startOfPrevious = LocalDateTime.of(previousMonthYear, previousMonth, 1, 0, 0, 0); 
// 上个月的结束时间
LocalDateTime endOfPrevious = LocalDateTime.of(previousMonthYear, previousMonth, previousMonth.length(leapYear), 23, 59, 59); 
// 将LocalDateTime 转换为Date类型
ZoneId zoneId = ZoneId.systemDefault();
ZonedDateTime startMonth = startOfPrevious.atZone(zoneId);
ZonedDateTime endMonth = endOfPrevious.atZone(zoneId);

Date beginOfPreviousMonth = Date.from(startMonth.toInstant());
Date endOfPreviousMonth = Date.from(endMonth.toInstant());

5、获取本季度的第一天和最后一天

DateTime beginOfQuarter = DateUtil.beginOfQuarter(new Date());
DateTime endOfQuarter = DateUtil.endOfQuarter(new Date());

6、获取今年的第一天和最后一天

DateTime beginOfYear = DateUtil.beginOfYear(new Date());
DateTime endOfYear = DateUtil.endOfYear(new Date());

7、获取上一年的第一天和最后一天文章来源地址https://www.toymoban.com/news/detail-784839.html

Year currentYear = Year.now(); // 当前年份

Year previousYear = currentYear.minusYears(1); // 上一年

// 上一年的开始时间
LocalDateTime previousYearStart = previousYear.atDay(1).atStartOfDay(); 
// 上一年的结束时间
LocalDateTime previousYearEnd = previousYear.atMonth(12).atEndOfMonth().atTime(23, 59, 59); 
// 将LocalDateTime 转换为Date类型
ZoneId zoneYearId = ZoneId.systemDefault();
ZonedDateTime zdt = previousYearStart.atZone(zoneYearId);
ZonedDateTime end = previousYearEnd.atZone(zoneYearId);

Date beginOfPreviousYear = Date.from(zdt.toInstant());
Date endOfPreviousYear = Date.from(end.toInstant());

到了这里,关于Java获取今天、本周、本月、本季度、上月、上一年的时间范围的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包