從日期獲取年份的 Java 程式


在我們的日常生活當中,在現實世界中會產生巨大的資料。在生成的資訊中,日期通常用於各種事情,比如安排約會、計劃日常活動。在使用程式設計中的日期時,從特定日期中提取年份可能是一項常見任務。我們可以在 java 程式語言中使用不同的內建函式從特定日期中提取年份。在本文中,我們將討論從特定日期中提取年份的不同方法。

Example
Input: "13-07-2000"
Output: 2000
Example
Input: "1997/07/13"
Output: 1997

方法

  • 使用 LocalDate 類。

  • 使用 String.split() 方法。

  • 使用 Calender 類。

  • 使用 SimpleDateFormat 類。

演算法

  • 在 Main 類中編寫自定義方法從日期中提取年份。

  • 在自定義函式中使用 java 提供的不同內建函式來提取日期。

  • 列印從日期中提取的年份。

我們現在將詳細討論從日期中提取年份的每種方法,並在 java 程式語言中實現程式碼。

方法 1:使用 LocalDate 類

採用這種方法時,我們將使用 java.time 包中的 LocalDate 類。LocalDate 的“getYear()”方法通常會返回一個整數作為輸出。

語法

以下語法表示了 getYear() 方法的使用。

int variable = DateObject.getYear();

以下是一個使用上述語法的簡單程式碼片段

LocalDate currentDate = LocalDate.parse("2000-07-13");
int year = currentDate.getYear();
System.out.println(year); // gives 2000 as output     

示例

在這個程式中,我們將匯入 java.time 包的 LocalDate 類。然後我們需要使用 parse() 方法將字串解析為日期。parse() 方法接受“yyyy-mm–dd”格式的日期,並將字串轉換為本地日期。一旦獲得日期,我們就可以使用 getYear() 方法提取年份。

// Java program for extracting Year from Date
import java.util.*;
import java.time.LocalDate;
public class Main {
   public static void getYearFromDate(String date) {
      LocalDate inputDate = LocalDate.parse(date);
      // Get year from date
      int year = inputDate.getYear();
      System.out.println("Year extracted from date is : " + year);
   }
   public static void main(String args[]) {
      String date = "2000-07-13";
      getYearFromDate(date);
   }
}

輸出

Year extracted from date is : 2000    

時間複雜度:O(1),輔助空間:O(1)

方法 2:使用 String.split() 方法

採用這種方法時,我們將使用 String 類的 split() 方法。該方法用於基於分隔符(用於將字串分成標記的符號)將字串分成標記。

語法

以下語法表示了 split() 方法的使用。它把一個分隔符作為輸入,然後給出標記字串陣列作為輸出。

String array_variable [] = String_Variable.split(“delimiter”);   

以下是一個展示上述語法的簡單程式碼示例

date  = '13-07-2000';
String tokens[] = date.split("-");
System.out.println(tokens[2]); 
// gives 2000 as output

示例

在上述程式中,聲明瞭一個字串並將其傳遞給 extractYear() 函式。該函式通常使用 String 類的 split() 方法。split() 方法通常需要一個分隔符(在上述程式中為“-”),並將該字串分為一個字串陣列。由於年份是日期中的第 3 個標記,因此我們列印 tokens[2],它將給出所需的輸出。

// Java program for  extracting year from the given date
import  java.util.*;
public class Main {
   public static void extractYear(String date) {
      // Splitting the given date by '-'
      String tokens[] = date.split("-");
      String year = tokens[2];
      System.out.println("Extracted Year from Date: " + year);
   }
   public static void main(String args[]) {
      // Given date
      String date = "13-07-2000";
      extractYear(date);
   }
}

輸出

Extracted Year from Date: 2000

時間複雜度:O(1),輔助空間:O(1)

方法 3:使用 Calendar 類

採用此方法時,我們將使用 util 包中的 Calendar 類。在本示例中,我們使用 Calendar.YEAR,該類使用 Calendar 物件提取特定日期中的年份。

語法

以下語法表示了 Calender 類的 get() 方法的使用。它返回指定為 field_parameter 的整數值。

int var_name = CalenderObject.get(field_parameter);

以下是一個簡單的程式碼片段,它使用上述語法從日期中獲取年份 -

Calendar cal = Calendar.getInstance(); // returns  Calender Object with present date
int Year = cal.get(Calendar.YEAR); // gives the year from Calender Object

示例

在上述示例中,我們使用 Calendar 類從日期中獲得年份。我們聲明瞭一個日曆物件,並使用 Calendar 類的 getInstance() 方法獲取當前日期物件。我們使用 get() 方法並傳遞 Calendar.YEAR 引數以從日期中獲取年份。

import java.util.Calendar;
public class Main {
   public static void getYear(Calendar cal){
      int Year = cal.get(Calendar.YEAR);
      System.out.println("Extracted year from date : " +Year);
   }
   public static void main(String[] args) {
      Calendar cal = Calendar.getInstance();
      getYear(cal);
   }
}	

輸出

Extracted year from date : 2023

時間複雜度:O(1),輔助空間:O(1)

方法 4:使用 SimpleDateFormat 類

採用此方法時,我們將使用 text 包中的 SimpleDateFormat 類和 util 包中的 Date 類。在本示例中,我們使用 Date 類並首先獲取一個日期,然後建立一個 SimpleDateFormat 物件,該物件通常會按照引數中給出的規定格式對日期進行格式化。

語法

以下語法表示了 SimpleDateFormat 類的 format() 方法的使用。它返回指定為 field_parameter 的整數值。

int var_name = CalenderObject.get(field_parameter);

以下是上述語法的實現

Calendar cal = Calendar.getInstance(); 
// returns Calendar Object with present date
int Year = cal.get(Calendar.YEAR); // gives the year from Calendar Object

示例

本示例中,我們使用了 Date 和 SimpleDateFormat 類。SimpleDateFormat 用於僅從日期物件中獲取日期,因為日期會提供日期和時間二者。因此,我們首先宣告一個日期物件,然後建立一個 SimpleDateFormat 物件,並透過傳遞“yyyy”引數來獲取年份。format() 方法用於按照給定的模式返回日期或時間。

import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
   public static void getYear(Date date) {
      SimpleDateFormat getYearDate = new SimpleDateFormat("yyyy");
      String year = getYearDate.format(date);
      System.out.println("Extracted year from date :" + year);
   }
   public static void main(String[] args) {
      Date date = new Date();
      getYear(date);
   }
}

輸出

Extracted year from date :2023

時間複雜度:O(1),輔助空間:O(1)

因此,在本文中,我們討論了用於實現 Java 程式以從特定日期中提取年份的不同方法。

更新時間:2023-4-11

3K+ 瀏覽次數

開啟您的 事業

完成課程即可獲得認證

開始
廣告