在 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