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类。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对象的Calendar.YEAR来提取特定日期的年份。
语法
下面的语法是指使用Calendar类的get()方法来获取指定字段的整数值。
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对象,并使用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程序。