Java 获取日期中的年份

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程序。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程