行业资讯 2025年08月6日
0 收藏 0 点赞 621 浏览 1349 个字
摘要 :

文章目录 获取给定日期的季度 获取季度的开始和结束日期 获取两个日期之间的季度数 结论 从日期中获取季度,季度的开始和结束时间(Java)。一年有四个季度(通常表示……




从日期中获取季度,季度的开始和结束时间(Java)。一年有四个季度(通常表示为Q1,Q2,Q3和Q4),每个季度有三个月。这个Java教程讨论了如何获取当前运行季度的信息,当前季度的开始日期和结束日期。我们还将学习如何获取任何特定季度的开始时间和结束时间

获取给定日期的季度

新的Java 8日期时间API包含一个名为java.time.temporal.IsoFields的类,该类包含遵循ISO-8601标准的日历系统的字段(和单位)。在这些字段中,我们有一个用于我们用例的字段,即IsoFields.QUARTER_OF_YEAR。

让我们看看如何使用此字段获取作为整数值的季度号。

LocalDate localDate = LocalDate.now();  // 给定日期
int currentQuarter = localDate.get(IsoFields.QUARTER_OF_YEAR);  // returns 1, 2, 3 or 4

如果我们想以格式化模式(Q1,Q2等)获取季度号以进行显示,我们可以使用DateTimeFormatter和模式’QQQ’。

String currentQuarterStr1 = localDate.format(DateTimeFormatter.ofPattern(\"QQQ\"));
String currentQuarterStr2 = localDate.format(DateTimeFormatter.ofPattern(\"QQQQ\"));
System.out.println(currentQuarterStr1);
System.out.println(currentQuarterStr2);

程序输出:

Q1
1st quarter

我们可以从输出中验证,我们能够检索到当前年份的季度号。

获取季度的开始和结束日期

与前面的示例类似,我们可以使用IsoFields.DAY_OF_QUARTER字段来访问一个季度的第一天和最后一天。让我们通过一个例子来看看。

LocalDate firstDay = localDate.with(IsoFields.DAY_OF_QUARTER, 1L);
LocalDate lastDay = firstDay.plusMonths(2).with(TemporalAdjusters.lastDayOfMonth());
System.out.println(firstDay);
System.out.println(lastDay);

程序输出:

2024-01-01
2024-03-31

这样,我们就可以找到当前季度的开始日期和结束日期。

获取两个日期之间的季度数

如果我们有两个LocalDate值,并且想要计算这两个日期之间的季度数,我们可以借助IsoFields.QUARTER_YEARS来计算,它代表了一个季度的概念,可以如下使用:

long quarterCount = IsoFields.QUARTER_YEARS.between(startDate, endDate);

结论

这个简短的Java教程演示了如何使用新的Java 8 API来获取当前季度的信息,以及当前季度的开始和结束日期。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/10207.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

986
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

463
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

347
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

455
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

515
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

831
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号