从日期获取年份的Java程序
Java是最强大的编程语言,我们可以通过它来执行许多任务, Java是业界首选的语言。所以它充满了大量的功能。在这里,我们将讨论Java的最佳特性之一,即如何使用Java从日期中获取年份。
方法:
有很多方法可以从日期开始计算年份,下面列出了常用的两种方法。
- 使用 get() 方法 LocalDate 类
- 使用 Calendar 类的 get() 方法
- 使用 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,指的是需要返回其值的日历。
返回值:该方法返回传递字段的值。
Note: In above program, get() method is used to get the year from the specified 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);
}
}
输出:
Year: 2021
方法三:使用String类的split()方法
此方法确实在给定正则表达式的匹配项周围中断给定字符串。
参数:它需要两个参数,即:
- Regex:定界正则表达式
- 限制:产生的阈值
返回类型:通过拆分给定字符串计算出的字符串数组。
异常: PatternSyntaxException – 如果提供的正则表达式的语法无效。
Here split() function of String class is used to split a specified date string according to the given pattern, and it returns an array of string.
例子
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