java怎么获取当前时间所属季度
java怎么获取当前时间所属季度;并且获取上个季度的三个月份。
核心代码:
LocalDate current = LocalDate.now();
int year = current.getYear();
int quarter = (current.getMonthValue() - 1) / 3 + 1;
LocalDate
LocalDate是Java8的新特性,他是一个全新的日期时间API;下面的例子是计算当前时间的年份和季,并且计算上个季度的三个月份。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
// 获取当前时间的年份和季度
LocalDate current = LocalDate.now();
int year = current.getYear();
int quarter = (current.getMonthValue() - 1) / 3 + 1;
// 计算上个季度的三个月份
int prevQuarter = (quarter - 2 + 4) % 4 + 1;
String[] prevMonths = new String[3];
for (int i = 0; i < prevMonths.length; i++) {
int prevMonth = prevQuarter * 3 - 3 + i + 1;
if (prevMonth > 12) {
prevMonth -= 12;
prevMonths[i] = (year - 1) + "-Q" + prevQuarter;
} else {
prevMonths[i] = year + "-Q" + prevQuarter;
}
prevMonths[i] += "-" + String.format("%02d", prevMonth);
}
// 输出
System.out.println("当前时间:" + current.format(DateTimeFormatter.ISO_LOCAL_DATE));
System.out.println("当前季度:" + year + "-Q" + quarter);
System.out.println("上个季度的三个月份:");
for (String month : prevMonths) {
System.out.println("- " + month);
}
}
}
输出结果:
当前时间:2023-06-20
当前季度:2023-Q2
上个季度的三个月份:
- 2023-Q1-01
- 2023-Q1-02
- 2023-Q1-03