從日期獲取年份的 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 程式以從特定日期中提取年份的不同方法。