您的位置:

Java获取年份

一、获取当前年份

在Java中获取当前年份可以使用Calendar类或者LocalDate类的getYear()方法。下面是两种方法的示例代码:

//使用Calendar类
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);

//使用LocalDate类
LocalDate localDate = LocalDate.now();
int year = localDate.getYear();

以上两种方法都可以获取当前年份并存储在变量year中,其中Calendar类是早期Java提供的方式,而LocalDate是Java 8中新添加的Date-Time API中的类。

二、获取指定日期的年份

如果要获取指定日期的年份,可以使用Calendar类或者LocalDate类的withYear()方法。下面是两种方法的示例代码:

//使用Calendar类
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);

//使用LocalDate类
LocalDate localDate = LocalDate.of(2022,1,15);
int year = localDate.getYear();

以上两种方法都可以获取指定日期的年份并存储在变量year中,其中Calendar类需要先通过setTime()方法设置需要获取年份的日期,而LocalDate类则直接通过of()方法创建指定日期的对象。

三、获取当前日期所属的年份范围

有时候我们需要获取当前日期所属的年份范围,例如当前为2022年5月15日,则可以得到2022年的起始日期和结束日期。下面是一个示例代码:

LocalDate localDate = LocalDate.now();
LocalDate firstDayOfYear = localDate.with(TemporalAdjusters.firstDayOfYear());
LocalDate lastDayOfYear = localDate.with(TemporalAdjusters.lastDayOfYear());

System.out.println("当前日期所属年份的起始日期:" + firstDayOfYear);
System.out.println("当前日期所属年份的结束日期:" + lastDayOfYear);

以上代码首先使用LocalDate类获取当前日期,接着通过with()方法结合TemporalAdjusters类的firstDayOfYear()和lastDayOfYear()方法获取当前日期所属年份的起始日期和结束日期,并输出到控制台。

四、获取当前日期所属的季度

类似于获取当前日期所属的年份范围,我们有时候也需要获取当前日期所属的季度。可以使用LocalDate类结合TemporalAdjusters类的with()方法和plus()方法,自定义获取季度的方法。下面是示例代码:

public static int getQuarter(LocalDate localDate){
    int month = localDate.getMonthValue();
    if (month <= 3){
        return 1;
    }else if (month <= 6){
        return 2;
    }else if (month <= 9){
        return 3;
    }else{
        return 4;
    }
}

LocalDate localDate = LocalDate.now();
int quarter = getQuarter(localDate);

System.out.println("当前日期所属季度:" + quarter);

以上代码定义了一个getQuarter()方法,该方法根据当前日期获取所属的季度。获取季度的方法是根据月份进行判断,返回对应的季度数字。最后使用当前日期作为参数调用getQuarter()方法获取当前日期所属的季度,并输出到控制台。