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
, 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():返回年份对应的整数