Class Years
- java.lang.Object
 - 
- org.joda.time.base.BaseSingleFieldPeriod
 - 
- org.joda.time.Years
 
 
 
- 
- All Implemented Interfaces:
 java.io.Serializable,java.lang.Comparable<BaseSingleFieldPeriod>,ReadablePeriod
public final class Years extends BaseSingleFieldPeriod
An immutable time period representing a number of years.Yearsis 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()anddividedBy().Yearsis thread-safe and immutable.- Since:
 - 1.4
 - See Also:
 - Serialized Form
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static YearsMAX_VALUEConstant representing the maximum number of years that can be stored in this object.static YearsMIN_VALUEConstant representing the minimum number of years that can be stored in this object.static YearsONEConstant representing one year.static YearsTHREEConstant representing three years.static YearsTWOConstant representing two years.static YearsZEROConstant representing zero years. 
- 
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description YearsdividedBy(int divisor)Returns a new instance with the years divided by the specified divisor.DurationFieldTypegetFieldType()Gets the duration field type, which isyears.PeriodTypegetPeriodType()Gets the period type, which isyears.intgetYears()Gets the number of years that this period represents.booleanisGreaterThan(Years other)Is this years instance greater than the specified number of years.booleanisLessThan(Years other)Is this years instance less than the specified number of years.Yearsminus(int years)Returns a new instance with the specified number of years taken away.Yearsminus(Years years)Returns a new instance with the specified number of years taken away.YearsmultipliedBy(int scalar)Returns a new instance with the years multiplied by the specified scalar.Yearsnegated()Returns a new instance with the years value negated.static YearsparseYears(java.lang.String periodStr)Creates a newYearsby parsing a string in the ISO8601 format 'PnY'.Yearsplus(int years)Returns a new instance with the specified number of years added.Yearsplus(Years years)Returns a new instance with the specified number of years added.java.lang.StringtoString()Gets this instance as a String in the ISO8601 duration format.static Yearsyears(int years)Obtains an instance ofYearsthat may be cached.static YearsyearsBetween(ReadableInstant start, ReadableInstant end)Creates aYearsrepresenting the number of whole years between the two specified datetimes.static YearsyearsBetween(ReadablePartial start, ReadablePartial end)Creates aYearsrepresenting the number of whole years between the two specified partial datetimes.static YearsyearsIn(ReadableInterval interval)Creates aYearsrepresenting the number of whole years in the specified interval.- 
Methods inherited from class org.joda.time.base.BaseSingleFieldPeriod
compareTo, equals, get, getFieldType, getValue, hashCode, isSupported, size, toMutablePeriod, toPeriod 
 - 
 
 - 
 
- 
- 
Field Detail
- 
ZERO
public static final Years ZERO
Constant representing zero years. 
- 
ONE
public static final Years ONE
Constant representing one year. 
- 
TWO
public static final Years TWO
Constant representing two years. 
- 
THREE
public static final Years THREE
Constant representing three years. 
- 
MAX_VALUE
public static final Years MAX_VALUE
Constant representing the maximum number of years that can be stored in this object. 
- 
MIN_VALUE
public static final Years MIN_VALUE
Constant representing the minimum number of years that can be stored in this object. 
 - 
 
- 
Method Detail
- 
years
public static Years years(int years)
Obtains an instance ofYearsthat may be cached.Yearsis immutable, so instances can be cached and shared. This factory method provides access to shared instances.- Parameters:
 years- the number of years to obtain an instance for- Returns:
 - the instance of Years
 
 
- 
yearsBetween
public static Years yearsBetween(ReadableInstant start, ReadableInstant end)
Creates aYearsrepresenting 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.- Parameters:
 start- the start instant, must not be nullend- the end instant, must not be null- Returns:
 - the period in years
 - Throws:
 java.lang.IllegalArgumentException- if the instants are null or invalid
 
- 
yearsBetween
public static Years yearsBetween(ReadablePartial start, ReadablePartial end)
Creates aYearsrepresenting 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
LocalDateobjects.- Parameters:
 start- the start partial date, must not be nullend- the end partial date, must not be null- Returns:
 - the period in years
 - Throws:
 java.lang.IllegalArgumentException- if the partials are null or invalid
 
- 
yearsIn
public static Years yearsIn(ReadableInterval interval)
Creates aYearsrepresenting the number of whole years in the specified interval. This method corectly handles any daylight savings time changes that may occur during the interval.- Parameters:
 interval- the interval to extract years from, null returns zero- Returns:
 - the period in years
 - Throws:
 java.lang.IllegalArgumentException- if the partials are null or invalid
 
- 
parseYears
public static Years parseYears(java.lang.String periodStr)
Creates a newYearsby 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.
- Parameters:
 periodStr- the period string, null returns zero- Returns:
 - the period in years
 - Throws:
 java.lang.IllegalArgumentException- if the string format is invalid
 
- 
getFieldType
public DurationFieldType getFieldType()
Gets the duration field type, which isyears.- Specified by:
 getFieldTypein classBaseSingleFieldPeriod- Returns:
 - the period type
 
 
- 
getPeriodType
public PeriodType getPeriodType()
Gets the period type, which isyears.- Specified by:
 getPeriodTypein interfaceReadablePeriod- Specified by:
 getPeriodTypein classBaseSingleFieldPeriod- Returns:
 - the period type
 
 
- 
getYears
public int getYears()
Gets the number of years that this period represents.- Returns:
 - the number of years in the period
 
 
- 
plus
public Years plus(int years)
Returns a new instance with the specified number of years added.This instance is immutable and unaffected by this method call.
- Parameters:
 years- the amount of years to add, may be negative- Returns:
 - the new period plus the specified number of years
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
plus
public Years plus(Years years)
Returns a new instance with the specified number of years added.This instance is immutable and unaffected by this method call.
- Parameters:
 years- the amount of years to add, may be negative, null means zero- Returns:
 - the new period plus the specified number of years
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
minus
public Years minus(int years)
Returns a new instance with the specified number of years taken away.This instance is immutable and unaffected by this method call.
- Parameters:
 years- the amount of years to take away, may be negative- Returns:
 - the new period minus the specified number of years
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
minus
public Years minus(Years years)
Returns a new instance with the specified number of years taken away.This instance is immutable and unaffected by this method call.
- Parameters:
 years- the amount of years to take away, may be negative, null means zero- Returns:
 - the new period minus the specified number of years
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
multipliedBy
public Years multipliedBy(int scalar)
Returns a new instance with the years multiplied by the specified scalar.This instance is immutable and unaffected by this method call.
- Parameters:
 scalar- the amount to multiply by, may be negative- Returns:
 - the new period multiplied by the specified scalar
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
dividedBy
public Years dividedBy(int divisor)
Returns a new instance with the years divided by the specified divisor. The calculation uses integer division, thus 3 divided by 2 is 1.This instance is immutable and unaffected by this method call.
- Parameters:
 divisor- the amount to divide by, may be negative- Returns:
 - the new period divided by the specified divisor
 - Throws:
 java.lang.ArithmeticException- if the divisor is zero
 
- 
negated
public Years negated()
Returns a new instance with the years value negated.- Returns:
 - the new period with a negated value
 - Throws:
 java.lang.ArithmeticException- if the result overflows an int
 
- 
isGreaterThan
public boolean isGreaterThan(Years other)
Is this years instance greater than the specified number of years.- Parameters:
 other- the other period, null means zero- Returns:
 - true if this years instance is greater than the specified one
 
 
- 
isLessThan
public boolean isLessThan(Years other)
Is this years instance less than the specified number of years.- Parameters:
 other- the other period, null means zero- Returns:
 - true if this years instance is less than the specified one
 
 
- 
toString
public java.lang.String toString()
Gets this instance as a String in the ISO8601 duration format.For example, "P4Y" represents 4 years.
- Specified by:
 toStringin interfaceReadablePeriod- Overrides:
 toStringin classjava.lang.Object- Returns:
 - the value as an ISO8601 string
 
 
 - 
 
 -