HOWTO · Java

在 Java 中获取日期的年份

本文介绍了如何在 Java 中获取当前年份的方法

本页内容

本教程介绍了在 Java 中获取当前年份的方法。我们将使用 java.util.Date 类来获取当前日期,然后使用几种方法提取出当前年份。

在 Java 中使用 Date 和 LocalDate 来获取当前的年份

java.util.Date 有 getyear() 方法,返回一个从 1900 年减去的值。但是这个方法在 Java 中很早以前就被废弃了。取而代之的是,我们可以使用 java.time 中可用的 LocalDate 类作为首选方法来进行任何 Date 和时间操作。

我们通过使用 date.toInstant() 将 date 对象转换为 LocalDate 对象,返回时间的即时性。接下来,我们调用 atZone() 使用 ZoneId.systemDefault() 指定系统的默认时区,并将其值传递给 atZone 的构造函数。最后,我们调用 toLocalDate() 将即时值转换为 LocalDate。

现在我们有了一个 LocalDate 对象 getLocalDate,我们使用 getLocalDate.getYear() 获取年份。

import java.time.LocalDate;
import java.time.ZoneId;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();

    ZoneId timeZone = ZoneId.systemDefault();
    LocalDate getLocalDate = date.toInstant().atZone(timeZone).toLocalDate();
    System.out.println(getLocalDate.getYear());
  }
}

输出:

2021

在 Java 中使用 Date 和 SimpleDateFormat 获取当前年份

Date 返回日期和时间,其中时间设置为 00:00:00。为了只得到年份,我们使用 SimpleDateFormat 来格式化 date。我们创建一个 SimpleDateFormat 对象,并传递格式,即 yyyy。getYearFormat.format(date) 以字符串形式返回结果,如输出所示。

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();

    SimpleDateFormat getYearFormat = new SimpleDateFormat("yyyy");
    String currentYear = getYearFormat.format(date);
    System.out.println(currentYear);
  }
}
2021

使用 Date.getYear() 和 Calendar 获取当前年份

最后一个方法使用 Calendar 类,据说它可以取代 java.util.Date 的一些方法。我们创建一个 Date 对象,并使用 calendar.getInstance() 获得一个 calendar 的实例。之后,我们调用 calendar.setTime() 方法,用 date 设置 Calendar 的时间。

现在为了得到年份,我们调用 calendar.get(),它返回作为参数传递的字段的值。我们通过 Calendaer.YEAR 来获取作为 int 的年份。

import java.util.Calendar;
import java.util.Date;

public class DateGetYear {
  public static void main(String[] args) {
    Date date = new Date();
    Calendar calendar = Calendar.getInstance();

    calendar.setTime(date);
    int dateYear = calendar.get(Calendar.YEAR);
    System.out.println(dateYear);
  }
}

输出:

2021