public final class Years extends BaseSingleFieldPeriod
Years
is an immutable period that can only store years.
It does not store months, days or hours for example. As such it is a
type-safe way of representing a number of years in an application.
The number of years is set in the constructor, and may be queried using
getYears()
. Basic mathematical operations are provided -
plus()
, minus()
, multipliedBy()
and
dividedBy()
.
Years
is thread-safe and immutable.
Modifier and Type | Field and Description |
---|---|
static Years |
MAX_VALUE
Constant representing the maximum number of years that can be stored in this object.
|
static Years |
MIN_VALUE
Constant representing the minimum number of years that can be stored in this object.
|
static Years |
ONE
Constant representing one year.
|
static Years |
THREE
Constant representing three years.
|
static Years |
TWO
Constant representing two years.
|
static Years |
ZERO
Constant representing zero years.
|
Modifier and Type | Method and Description |
---|---|
Years |
dividedBy(int divisor)
Returns a new instance with the years divided by the specified divisor.
|
DurationFieldType |
getFieldType()
Gets the duration field type, which is
years . |
PeriodType |
getPeriodType()
Gets the period type, which is
years . |
int |
getYears()
Gets the number of years that this period represents.
|
boolean |
isGreaterThan(Years other)
Is this years instance greater than the specified number of years.
|
boolean |
isLessThan(Years other)
Is this years instance less than the specified number of years.
|
Years |
minus(int years)
Returns a new instance with the specified number of years taken away.
|
Years |
minus(Years years)
Returns a new instance with the specified number of years taken away.
|
Years |
multipliedBy(int scalar)
Returns a new instance with the years multiplied by the specified scalar.
|
Years |
negated()
Returns a new instance with the years value negated.
|
static Years |
parseYears(java.lang.String periodStr)
Creates a new
Years by parsing a string in the ISO8601 format 'PnY'. |
Years |
plus(int years)
Returns a new instance with the specified number of years added.
|
Years |
plus(Years years)
Returns a new instance with the specified number of years added.
|
java.lang.String |
toString()
Gets this instance as a String in the ISO8601 duration format.
|
static Years |
years(int years)
Obtains an instance of
Years that may be cached. |
static Years |
yearsBetween(ReadableInstant start,
ReadableInstant end)
Creates a
Years representing the number of whole years
between the two specified datetimes. |
static Years |
yearsBetween(ReadablePartial start,
ReadablePartial end)
Creates a
Years representing the number of whole years
between the two specified partial datetimes. |
static Years |
yearsIn(ReadableInterval interval)
Creates a
Years representing the number of whole years
in the specified interval. |
compareTo, equals, get, getFieldType, getValue, hashCode, isSupported, size, toMutablePeriod, toPeriod
public static final Years ZERO
public static final Years ONE
public static final Years TWO
public static final Years THREE
public static final Years MAX_VALUE
public static final Years MIN_VALUE
public static Years years(int years)
Years
that may be cached.
Years
is immutable, so instances can be cached and shared.
This factory method provides access to shared instances.years
- the number of years to obtain an instance forpublic static Years yearsBetween(ReadableInstant start, ReadableInstant end)
Years
representing the number of whole years
between the two specified datetimes. This method corectly handles
any daylight savings time changes that may occur during the interval.start
- the start instant, must not be nullend
- the end instant, must not be nulljava.lang.IllegalArgumentException
- if the instants are null or invalidpublic static Years yearsBetween(ReadablePartial start, ReadablePartial end)
Years
representing the number of whole years
between the two specified partial datetimes.
The two partials must contain the same fields, for example you can specify
two LocalDate
objects.
start
- the start partial date, must not be nullend
- the end partial date, must not be nulljava.lang.IllegalArgumentException
- if the partials are null or invalidpublic static Years yearsIn(ReadableInterval interval)
Years
representing the number of whole years
in the specified interval. This method corectly handles any daylight
savings time changes that may occur during the interval.interval
- the interval to extract years from, null returns zerojava.lang.IllegalArgumentException
- if the partials are null or invalidpublic static Years parseYears(java.lang.String periodStr)
Years
by parsing a string in the ISO8601 format 'PnY'.
The parse will accept the full ISO syntax of PnYnMnWnDTnHnMnS however only the years component may be non-zero. If any other component is non-zero, an exception will be thrown.
periodStr
- the period string, null returns zerojava.lang.IllegalArgumentException
- if the string format is invalidpublic DurationFieldType getFieldType()
years
.getFieldType
in class BaseSingleFieldPeriod
public PeriodType getPeriodType()
years
.getPeriodType
in interface ReadablePeriod
getPeriodType
in class BaseSingleFieldPeriod
public int getYears()
public Years plus(int years)
This instance is immutable and unaffected by this method call.
years
- the amount of years to add, may be negativejava.lang.ArithmeticException
- if the result overflows an intpublic Years plus(Years years)
This instance is immutable and unaffected by this method call.
years
- the amount of years to add, may be negative, null means zerojava.lang.ArithmeticException
- if the result overflows an intpublic Years minus(int years)
This instance is immutable and unaffected by this method call.
years
- the amount of years to take away, may be negativejava.lang.ArithmeticException
- if the result overflows an intpublic Years minus(Years years)
This instance is immutable and unaffected by this method call.
years
- the amount of years to take away, may be negative, null means zerojava.lang.ArithmeticException
- if the result overflows an intpublic Years multipliedBy(int scalar)
This instance is immutable and unaffected by this method call.
scalar
- the amount to multiply by, may be negativejava.lang.ArithmeticException
- if the result overflows an intpublic Years dividedBy(int divisor)
This instance is immutable and unaffected by this method call.
divisor
- the amount to divide by, may be negativejava.lang.ArithmeticException
- if the divisor is zeropublic Years negated()
java.lang.ArithmeticException
- if the result overflows an intpublic boolean isGreaterThan(Years other)
other
- the other period, null means zeropublic boolean isLessThan(Years other)
other
- the other period, null means zeropublic java.lang.String toString()
For example, "P4Y" represents 4 years.
toString
in interface ReadablePeriod
toString
in class java.lang.Object
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"