Java获取季度的开始结束时间

后端 潘老师 3个月前 (02-18) 130 ℃ (0) 扫码查看

从日期中获取季度,季度的开始和结束时间(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.panziye.com/back/12898.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】