获取 Java 中的当前年份

Siddharth Swami 2023年10月12日
  1. 在 Java 中使用 java.Util.Date 类获取当前年份
  2. 在 Java 中使用 LocalDate 类获取当前年份
  3. 在 Java 中使用 java.util.Calendar 类获取当前年份
  4. 使用 Joda Time 包获取 Java 中的当前年份
  5. 在 Java 中使用 java.time.YearMonth 类获取当前年份的整数值
获取 Java 中的当前年份

在本教程中,讨论了如何在 Java 中获取当前年份的不同方法。

在 Java 中使用 java.Util.Date 类获取当前年份

java.util.Date 类中的 getYear() 方法可用于获取旧版本 JDK 中的当前年份,现在已替换为 Calendar.get(Calendar.YEAR) 方法。

此方法用于通过从当前日期对象中减去 1900 来返回值。

请参考以下代码。

import java.util.Date;

public class Java_Date_GetYear {
  public static void main(String[] args) {
    Date dt = new Date();
    int year = dt.getYear();
    System.out.println("Year for date object is : " + year);
    int current_Year = year + 1900;
    System.out.println("Current year is : " + current_Year);
  }
}

输出:

Year for date object is : 121
Current year is : 2021

正如我们在上面的输出中看到的,我们得到的日期对象是 121,但我们需要得到当前的年份。我们必须再次向日期对象添加 1900 才能得到最终结果,即 2021。

在 Java 中使用 LocalDate 类获取当前年份

该类的概念是利用该类下提供的方法,如 getyear()getMonth() 等,根据用户需要获取当前年份或月份。

例如,

import java.time.LocalDate;

class Current_Year {
  public static void main(String args[]) {
    // Getting the current date value of the system
    LocalDate current_date = LocalDate.now();
    System.out.println("Current date: " + current_date);

    // getting the current year from the current_date
    int current_Year = current_date.getYear();
    System.out.println("Current year: " + current_Year);
  }
}

输出:

Current date: 2021-06-06
Current year: 2021

在上面的代码中,我们获取执行代码的系统的当前日期、时间和年份,然后在输出窗口中返回当前年份。为此,使用 LocalDate() 类的 now() 方法。

在 Java 中使用 java.util.Calendar 类获取当前年份

另一种方法是使用 Java 中的 Calendar 类。这是一个抽象的 Java 类,可帮助转换日期和日历字段,如月、年、小时等。

getInstance() 方法是用于启动子类的静态方法,因为 Calendar 类是一个抽象类。我们不能使用构造函数方法来创建实例。get(Calendar.Year) 方法可以提供系统中的当前年份。

例如,

import java.util.Calendar;
public class Get_Current_Year {
  public static void main(String args[]) {
    Calendar cal = Calendar.getInstance();
    System.out.println("The Current Year is:" + cal.get(Calendar.YEAR));
  }
}

输出:

The Current Year is:2021

我们可以使用 Calendar 类打印特定日期的当前年份。为此,我们必须使用 Calendar 的另一个子类,称为 GregorianCalendar()

例如,

import java.util.*;

class Get_Current_Year2 {
  public static void main(String args[]) {
    // Creating a calendar object
    Calendar c = new GregorianCalendar(2020, 02, 11);

    // Getting the value of the year from calendar object
    int year = c.get(Calendar.YEAR);

    // Printing the year
    System.out.println("Year: " + year);
  }
}

输出:

Year: 2020

使用 Joda Time 包获取 Java 中的当前年份

如果你的应用程序中大量使用日期和日历对象,那么你应该使用 Joda Time 包。java.util.Date 类是可变的,而 java.util.calendar 类在更新其字段时存在一些与性能相关的问题。

Joda Time 拥有比 Java 包中的类更有效的方法。

请参考以下代码。

import org.joda.time.DateTime;
import org.joda.time.LocalDateTime;
public class Joda_Time {
  public static void main(String[] args) {
    DateTime now = new DateTime();
    System.out.println("Current Year: " + now.year().getAsText());
  }
}

输出:

Current Year : 2021

正如我们在上面的代码中看到的,我们创建了一个用于获取系统当前日期的 DateTime() 对象。要使用 Joda-Time,我们必须下载它,因为它没有预装在任何 IDE 中。

在 Java 中使用 java.time.YearMonth 类获取当前年份的整数值

我们还可以使用 java.time.YearMonth 类,它为我们提供了 getYear() 方法来打印系统的当前年份。

下面的代码演示了此方法的使用。

import java.time.YearMonth;
public class Current_Year {
  public static void main(String[] args) {
    int year = YearMonth.now().getYear();

    System.out.println("Current year: " + year);
  }
}

输出:

Current year: 2021

相关文章 - Java DateTime