在 Java 中获取日期的年份

Rupam Yadav 2023年10月12日
  1. 在 Java 中使用 DateLocalDate 来获取当前的年份
  2. 在 Java 中使用 DateSimpleDateFormat 获取当前年份
  3. 使用 Date.getYear()Calendar 获取当前年份
在 Java 中获取日期的年份

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

在 Java 中使用 DateLocalDate 来获取当前的年份

java.util.Dategetyear() 方法,返回一个从 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 中使用 DateSimpleDateFormat 获取当前年份

Date 返回日期和时间,其中时间设置为 00:00:00。为了只得到年份,我们使用 SimpleDateFormat 来格式化 date。我们创建一个 SimpleDateFormat 对象,并传递格式,即 yyyygetYearFormat.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
作者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

相关文章 - Java DateTime