从日期获取年份的 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 程序以从特定日期中提取年份的不同方法。
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP