public final class Months extends BaseSingleFieldPeriod
Months
is an immutable period that can only store months.
It does not store years, days or hours for example. As such it is a
type-safe way of representing a number of months in an application.
The number of months is set in the constructor, and may be queried using
getMonths()
. Basic mathematical operations are provided -
plus()
, minus()
, multipliedBy()
and
dividedBy()
.
Months
is thread-safe and immutable.
Modifier and Type | Field and Description |
---|---|
static Months |
EIGHT
Constant representing eight months.
|
static Months |
ELEVEN
Constant representing eleven months.
|
static Months |
FIVE
Constant representing five months.
|
static Months |
FOUR
Constant representing four months.
|
static Months |
MAX_VALUE
Constant representing the maximum number of months that can be stored in this object.
|
static Months |
MIN_VALUE
Constant representing the minimum number of months that can be stored in this object.
|
static Months |
NINE
Constant representing nine months.
|
static Months |
ONE
Constant representing one month.
|
static Months |
SEVEN
Constant representing seven months.
|
static Months |
SIX
Constant representing six months.
|
static Months |
TEN
Constant representing ten months.
|
static Months |
THREE
Constant representing three months.
|
static Months |
TWELVE
Constant representing twelve months.
|
static Months |
TWO
Constant representing two months.
|
static Months |
ZERO
Constant representing zero months.
|
Modifier and Type | Method and Description |
---|---|
Months |
dividedBy(int divisor)
Returns a new instance with the months divided by the specified divisor.
|
DurationFieldType |
getFieldType()
Gets the duration field type, which is
months . |
int |
getMonths()
Gets the number of months that this period represents.
|
PeriodType |
getPeriodType()
Gets the period type, which is
months . |
boolean |
isGreaterThan(Months other)
Is this months instance greater than the specified number of months.
|
boolean |
isLessThan(Months other)
Is this months instance less than the specified number of months.
|
Months |
minus(int months)
Returns a new instance with the specified number of months taken away.
|
Months |
minus(Months months)
Returns a new instance with the specified number of months taken away.
|
static Months |
months(int months)
Obtains an instance of
Months that may be cached. |
static Months |
monthsBetween(ReadableInstant start,
ReadableInstant end)
Creates a
Months representing the number of whole months
between the two specified datetimes. |
static Months |
monthsBetween(ReadablePartial start,
ReadablePartial end)
Creates a
Months representing the number of whole months
between the two specified partial datetimes. |
static Months |
monthsIn(ReadableInterval interval)
Creates a
Months representing the number of whole months
in the specified interval. |
Months |
multipliedBy(int scalar)
Returns a new instance with the months multiplied by the specified scalar.
|
Months |
negated()
Returns a new instance with the months value negated.
|
static Months |
parseMonths(java.lang.String periodStr)
Creates a new
Months by parsing a string in the ISO8601 format 'PnM'. |
Months |
plus(int months)
Returns a new instance with the specified number of months added.
|
Months |
plus(Months months)
Returns a new instance with the specified number of months added.
|
java.lang.String |
toString()
Gets this instance as a String in the ISO8601 duration format.
|
compareTo, equals, get, getFieldType, getValue, hashCode, isSupported, size, toMutablePeriod, toPeriod
public static final Months ZERO
public static final Months ONE
public static final Months TWO
public static final Months THREE
public static final Months FOUR
public static final Months FIVE
public static final Months SIX
public static final Months SEVEN
public static final Months EIGHT
public static final Months NINE
public static final Months TEN
public static final Months ELEVEN
public static final Months TWELVE
public static final Months MAX_VALUE
public static final Months MIN_VALUE
public static Months months(int months)
Months
that may be cached.
Months
is immutable, so instances can be cached and shared.
This factory method provides access to shared instances.months
- the number of months to obtain an instance forpublic static Months monthsBetween(ReadableInstant start, ReadableInstant end)
Months
representing the number of whole months
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 Months monthsBetween(ReadablePartial start, ReadablePartial end)
Months
representing the number of whole months
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 Months monthsIn(ReadableInterval interval)
Months
representing the number of whole months
in the specified interval. This method corectly handles any daylight
savings time changes that may occur during the interval.interval
- the interval to extract months from, null returns zerojava.lang.IllegalArgumentException
- if the partials are null or invalidpublic static Months parseMonths(java.lang.String periodStr)
Months
by parsing a string in the ISO8601 format 'PnM'.
The parse will accept the full ISO syntax of PnYnMnWnDTnHnMnS however only the months 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()
months
.getFieldType
in class BaseSingleFieldPeriod
public PeriodType getPeriodType()
months
.getPeriodType
in interface ReadablePeriod
getPeriodType
in class BaseSingleFieldPeriod
public int getMonths()
public Months plus(int months)
This instance is immutable and unaffected by this method call.
months
- the amount of months to add, may be negativejava.lang.ArithmeticException
- if the result overflows an intpublic Months plus(Months months)
This instance is immutable and unaffected by this method call.
months
- the amount of months to add, may be negative, null means zerojava.lang.ArithmeticException
- if the result overflows an intpublic Months minus(int months)
This instance is immutable and unaffected by this method call.
months
- the amount of months to take away, may be negativejava.lang.ArithmeticException
- if the result overflows an intpublic Months minus(Months months)
This instance is immutable and unaffected by this method call.
months
- the amount of months to take away, may be negative, null means zerojava.lang.ArithmeticException
- if the result overflows an intpublic Months 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 Months 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 Months negated()
java.lang.ArithmeticException
- if the result overflows an intpublic boolean isGreaterThan(Months other)
other
- the other period, null means zeropublic boolean isLessThan(Months other)
other
- the other period, null means zeropublic java.lang.String toString()
For example, "P4M" represents 4 months.
toString
in interface ReadablePeriod
toString
in class java.lang.Object
"Copyright © 2010 - 2020 Adobe Systems Incorporated. All Rights Reserved"