java.time包是常用的包,该包下定义了许多时间相关的API。本章主要介绍一下Year的使用。在开始前,对有TemporalUnit所了解可以更容易阅读本文。
java.time.Year表示年份,其中定义了若干静态和非静态的方法。
静态方法:
1、public static Year now():返回当前年
2、public static Year of(int year):根据整数创建一个Year对象
3、public static boolean isLeap(int year):判断指定年份是否为闰年
实例方法
1、public int length():获取整年的天数(365/366)
2、public Year plusYears(int year):增加指定年数
3、public Year minusYears(int year):减少指定年数
4、public LocalDate atDay(int dayOfYear):返回指定年份的第几天
5、public YearMonth atMonth(int month):根据指定的月份生成年月
6、public YearMonth atMonth(Month month):根据指定的月份生成年月
7、public LocalDate atMonthDay(MonthDay monthDay):根据指定的月日生成年月日,该方法接收一个MonthDay(月日)对象
8、public Year plus(long amountToAdd, TemporalUnit unit):增加指定单位时间。该方法的第一个参数是需要增加的单位数。
public final class Year implements Temporal, TemporalAdjuster, Comparable<Year>, Serializable {
@Override
public Year plus(long amountToAdd, TemporalUnit unit) {
if (unit instanceof ChronoUnit) {
switch ((ChronoUnit) unit) {
case YEARS: return plusYears(amountToAdd);
case DECADES: return plusYears(Math.multiplyExact(amountToAdd, 10));
case CENTURIES: return plusYears(Math.multiplyExact(amountToAdd, 100));
case MILLENNIA: return plusYears(Math.multiplyExact(amountToAdd, 1000));
case ERAS: return with(ERA, Math.addExact(getLong(ERA), amountToAdd));
}
throw new UnsupportedTemporalTypeException("Unsupported unit: " + unit);
}
return unit.addTo(this, amountToAdd);
}
}
9、public Year minus(long amountToSubtract, TemporalUnit unit):减少指定单位时间。
10、public Year plusYears(long yearsToAdd):增加指定年数
11、public boolean isAfter(Year other):判断是否在指定年份之后
12、public boolean isBefore(Year other):判断是否在指定年份之前
13、public int getValue():返回年份对应的整数