如何发现给定日期的季度?

2022-08-31 22:16:36

给定一个java.util.Date对象,我如何去查找它所在的季度?

假设 Q1 = 1 月 2 月 3 月,Q2 = 4 月、5 月、6 月等。


答案 1

从 Java 8 开始,可以使用 java.time 包中的类将季度作为字段进行访问。

import java.time.LocalDate;
import java.time.temporal.IsoFields;

LocalDate myLocal = LocalDate.now();
quarter = myLocal.get(IsoFields.QUARTER_OF_YEAR);

在较旧版本的 Java 中,您可以使用:

import java.util.Date;

Date myDate = new Date();
int quarter = (myDate.getMonth() / 3) + 1;

请注意,尽管 getMonth 很早就被弃用了:

从JDK版本1.1开始,由Calomary.get(Calendar.MONTH)取代。

相反,您可以使用如下对象:Calendar

import java.util.Calendar;
import java.util.GregorianCalendar;

Calendar myCal = new GregorianCalendar();
int quarter = (myCal.get(Calendar.MONTH) / 3) + 1;

答案 2

在Java 8及更高版本中,java.time类具有更简单的版本。使用本地日期等值字段

LocalDate.now().get(IsoFields.QUARTER_OF_YEAR)

推荐