java 如何获取年份
获取当前年份
使用 java.util.Calendar 类可以获取当前年份。通过 Calendar.getInstance() 获取当前日期和时间的实例,再调用 get(Calendar.YEAR) 方法获取年份。
import java.util.Calendar;
public class GetYearExample {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
System.out.println("Current Year: " + year);
}
}
使用 java.time 包(Java 8 及以上)
Java 8 引入了新的日期时间 API (java.time 包),通过 LocalDate 或 Year 类可以更方便地获取年份。
import java.time.LocalDate;
import java.time.Year;
public class GetYearJava8 {
public static void main(String[] args) {
// 使用 LocalDate
LocalDate currentDate = LocalDate.now();
int year1 = currentDate.getYear();
System.out.println("Current Year (LocalDate): " + year1);
// 使用 Year
int year2 = Year.now().getValue();
System.out.println("Current Year (Year): " + year2);
}
}
从字符串解析年份
如果有一个日期字符串,可以使用 SimpleDateFormat 或 DateTimeFormatter 解析并获取年份。
import java.text.SimpleDateFormat;
import java.util.Date;
public class ParseYearFromString {
public static void main(String[] args) throws Exception {
String dateString = "2023-10-05";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
System.out.println("Parsed Year: " + year);
}
}
使用 java.time 解析字符串
Java 8 的 DateTimeFormatter 可以更简洁地解析日期字符串。
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class ParseYearJava8 {
public static void main(String[] args) {
String dateString = "2023-10-05";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate date = LocalDate.parse(dateString, formatter);
int year = date.getYear();
System.out.println("Parsed Year (Java 8): " + year);
}
}
获取特定日期的年份
如果需要获取非当前日期的年份,可以通过设置 Calendar 或 LocalDate 的日期值。

import java.util.Calendar;
public class SpecificDateYear {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
calendar.set(2025, Calendar.JANUARY, 1); // 设置日期为 2025-01-01
int year = calendar.get(Calendar.YEAR);
System.out.println("Specific Year: " + year);
}
}
总结
- 传统方式:使用
Calendar类。 - Java 8 及以上:推荐使用
java.time包(LocalDate或Year)。 - 字符串解析:使用
SimpleDateFormat或DateTimeFormatter。






