📜  从日期获取年份的Java程序

📅  最后修改于: 2022-05-13 01:55:08.045000             🧑  作者: Mango

从日期获取年份的Java程序

Java是最强大的编程语言,我们可以通过它来执行许多任务, Java是业界首选的语言。所以它充满了大量的功能。在这里,我们将讨论Java的最佳特性之一,即如何使用Java从日期中获取年份。

方法:

有很多方法可以从日期开始计算年份,下面列出了常用的两种方法。

  1. 使用 get() 方法 LocalDate 类
  2. 使用 Calendar 类的 get() 方法
  3. 使用 String 类的 split() 方法

让我们在实现方法的同时详细讨论它们中的每一个

方法一:使用LocalDate类的get()方法



Java方法中LocalDate类的get()方法从这个Date获取指定字段的值作为一个int。

语法

public int get(TemporalField field)

Parameter :此方法接受一个参数字段,该字段是要获取的字段,不一定为空。

返回值:它返回字段的值。

异常:它抛出三个异常如下:

  • DateTimeException:如果无法获取该字段的值或该值超出该字段的有效值范围,则抛出此异常。
  • UnsupportedTemporalTypeException:如果该字段不受支持或值范围超过 int,则抛出此异常
  • ArithmeticException:如果发生数字溢出,则抛出此异常

例子

Java
// Java Program to Get Year From Date
//  Using LocalDate class
 
// Importing Classes/Files
import java.time.LocalDate;
import java.time.Month;
import java.util.Date;
 
// Main class
class GFG {
 
    // Method 1
    // To get the year
    public static void getYear(String date)
    {
        // Getting an instance of LocalTime from date
        LocalDate currentDate = LocalDate.parse(date);
 
        // Getting year from date
        int year = currentDate.getYear();
 
        // Printing the year
        System.out.println("Year: " + year);
    }
 
    // Method 2
    // Main driver method
    public static void main(String args[])
    {
        // Specifying a date
        String date = "2021-05-21";
 
        // Function Call
        getYear(date);
    }
}


Java
// Java Program to Get Year From Date
// using Calendar class
 
// Importing Classes/Files
import java.util.*;
 
// main class
class GFG {
 
    // Main Driver Code
    public static void main(String args[])
    {
        // Creating a calendar object
        Calendar Cal
            = new GregorianCalendar(
                2021, 05, 21);
 
        // Getting the values of year from calendar
        // object
        int year = Cal.get(Calendar.YEAR);
 
        // Printing the year value
        System.out.println("Year: " + year);
    }
}


Java
// Java Program to Get Year From Date
// Using String.split() method
 
// Main class
class GFG {
 
    // Method 1
    // To get year from date
    public static void findYear(String date)
    {
        // Splitting the given date by '-'
        String dateParts[] = date.split("-");
 
        // Getting year from date
        String year = dateParts[2];
 
        // Printing the year
        System.out.println("Year: " + year);
    }
 
    // Method 2
    // Main Driver Code
    public static void
    main(String args[])
    {
        // Given date
        String date = "21-05-2021";
    
        // Function calling
        findYear(date);
    }
}


输出:

Year: 2021

方法二:使用Calendar类的get()方法



Calendar 类的 get(int field_value ) 方法用于返回参数中给定日历字段的值。

句法:

public int get(int field)

参数:该方法采用一个整数类型的参数field_value,指的是需要返回其值的日历。

返回值:该方法返回传递字段的值。

例子

Java

// Java Program to Get Year From Date
// using Calendar class
 
// Importing Classes/Files
import java.util.*;
 
// main class
class GFG {
 
    // Main Driver Code
    public static void main(String args[])
    {
        // Creating a calendar object
        Calendar Cal
            = new GregorianCalendar(
                2021, 05, 21);
 
        // Getting the values of year from calendar
        // object
        int year = Cal.get(Calendar.YEAR);
 
        // Printing the year value
        System.out.println("Year: " + year);
    }
}

输出:

Year: 2021

方法三:使用String类的split()方法

此方法确实在给定正则表达式的匹配项周围中断给定字符串。

参数:它需要两个参数,即:

  • Regex:定界正则表达式
  • 限制:产生的阈值

返回类型:通过拆分给定字符串计算出的字符串数组。

异常: PatternSyntaxException – 如果提供的正则表达式的语法无效。

例子

Java

// Java Program to Get Year From Date
// Using String.split() method
 
// Main class
class GFG {
 
    // Method 1
    // To get year from date
    public static void findYear(String date)
    {
        // Splitting the given date by '-'
        String dateParts[] = date.split("-");
 
        // Getting year from date
        String year = dateParts[2];
 
        // Printing the year
        System.out.println("Year: " + year);
    }
 
    // Method 2
    // Main Driver Code
    public static void
    main(String args[])
    {
        // Given date
        String date = "21-05-2021";
    
        // Function calling
        findYear(date);
    }
}

输出:

Year: 2021