java如何获得年月
获取当前年月的方法
使用 java.time 包中的 LocalDate 类可以轻松获取当前年月。以下是示例代码:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class GetYearMonth {
public static void main(String[] args) {
LocalDate currentDate = LocalDate.now();
int year = currentDate.getYear();
int month = currentDate.getMonthValue();
System.out.println("当前年份: " + year);
System.out.println("当前月份: " + month);
}
}
格式化年月输出
如果需要特定格式的年月字符串,可以使用 DateTimeFormatter:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM");
String formattedYearMonth = currentDate.format(formatter);
System.out.println("格式化年月: " + formattedYearMonth);
使用 YearMonth 类
java.time 包还提供了专门处理年月的 YearMonth 类:
import java.time.YearMonth;
YearMonth currentYearMonth = YearMonth.now();
System.out.println("当前年月: " + currentYearMonth);
传统 Date 和 Calendar 方式
如果项目仍在使用旧版 Java,可以使用 Calendar 类:
import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始
System.out.println("传统方式获取年份: " + year);
System.out.println("传统方式获取月份: " + month);
时区考虑
如果需要考虑特定时区的年月,可以指定时区:

import java.time.ZoneId;
LocalDate dateInTokyo = LocalDate.now(ZoneId.of("Asia/Tokyo"));
System.out.println("东京当前年月: " + dateInTokyo.getYear() + "-" + dateInTokyo.getMonthValue());
以上方法提供了从简单到全面的多种获取年月的方式,可以根据具体需求选择适合的方法。对于新项目,推荐使用 java.time 包中的类,它们更现代且线程安全。






