public final class Days extends Object implements TemporalAmount, Comparable<Days>, Serializable
This class models a quantity or amount of time in terms of days. It is a typesafe way of representing a number of days in an application.
The model is of a directed amount, meaning that the amount may be negative.
This class must be treated as a value type. Do not synchronize, rely on the identity hash code or use the distinction between equals() and ==.
Modifier and Type  Field and Description 

static Days 
ONE
A constant for one day.

static Days 
ZERO
A constant for zero days.

Modifier and Type  Method and Description 

Days 
abs()
Returns a copy of this duration with a positive length.

Temporal 
addTo(Temporal temporal)
Adds this amount to the specified temporal object.

static Days 
between(Temporal startDateInclusive,
Temporal endDateExclusive)
Obtains a
Days consisting of the number of days between two dates. 
int 
compareTo(Days otherAmount)
Compares this amount to the specified
Days . 
Days 
dividedBy(int divisor)
Returns an instance with the amount divided by the specified divisor.

boolean 
equals(Object otherAmount)
Checks if this amount is equal to the specified
Days . 
static Days 
from(TemporalAmount amount)
Obtains an instance of
Days from a temporal amount. 
long 
get(TemporalUnit unit)
Gets the value of the requested unit.

int 
getAmount()
Gets the number of days in this amount.

List<TemporalUnit> 
getUnits()
Gets the set of units supported by this amount.

int 
hashCode()
A hash code for this amount.

Days 
minus(int days)
Returns a copy of this amount with the specified number of days subtracted.

Days 
minus(TemporalAmount amountToAdd)
Returns a copy of this amount with the specified amount subtracted.

Days 
multipliedBy(int scalar)
Returns an instance with the amount multiplied by the specified scalar.

Days 
negated()
Returns an instance with the amount negated.

static Days 
of(int days)
Obtains a
Days representing a number of days. 
static Days 
ofWeeks(int weeks)
Obtains a
Days representing the number of days
equivalent to a number of weeks. 
static Days 
parse(CharSequence text)
Obtains a
Days from a text string such as PnD . 
Days 
plus(int days)
Returns a copy of this amount with the specified number of days added.

Days 
plus(TemporalAmount amountToAdd)
Returns a copy of this amount with the specified amount added.

Temporal 
subtractFrom(Temporal temporal)
Subtracts this amount from the specified temporal object.

Period 
toPeriod()
Gets the number of days as a
Period . 
String 
toString()
Returns a string representation of the number of days.

public static final Days ZERO
public static final Days ONE
public static Days of(int days)
Days
representing a number of days.
The resulting amount will have the specified days.
days
 the number of days, positive or negativepublic static Days ofWeeks(int weeks)
Days
representing the number of days
equivalent to a number of weeks.
The resulting amount will be daybased, with the number of days equal to the number of weeks multiplied by 7.
weeks
 the number of weeks, positive or negativeArithmeticException
 if numeric overflow occurspublic static Days from(TemporalAmount amount)
Days
from a temporal amount.
This obtains an instance based on the specified amount.
A TemporalAmount
represents an amount of time, which may be
datebased or timebased, which this factory extracts to a Days
.
The result is calculated by looping around each unit in the specified amount.
Each amount is converted to days using Temporals.convertAmount(long, java.time.temporal.TemporalUnit, java.time.temporal.TemporalUnit)
.
If the conversion yields a remainder, an exception is thrown.
If the amount is zero, the unit is ignored.
amount
 the temporal amount to convert, not nullDateTimeException
 if unable to convert to a Days
ArithmeticException
 if numeric overflow occurspublic static Days parse(CharSequence text)
Days
from a text string such as PnD
.
This will parse the string produced by toString()
which is
based on the ISO8601 period formats PnD
and PnW
.
The string starts with an optional sign, denoted by the ASCII negative
or positive symbol. If negative, the whole amount is negated.
The ASCII letter "P" is next in upper or lower case.
There are then two sections, each consisting of a number and a suffix.
At least one of the two sections must be present.
The sections have suffixes in ASCII of "W" and "D" for weeks and days,
accepted in upper or lower case. The suffixes must occur in order.
The number part of each section must consist of ASCII digits.
The number may be prefixed by the ASCII negative or positive symbol.
The number must parse to an int
.
The leading plus/minus sign, and negative values for weeks and days are not part of the ISO8601 standard.
For example, the following are valid inputs:
"P2D"  Days.of(2) "P2D"  Days.of(2) "P2D"  Days.of(2) "P2D"  Days.of(2) "P3W"  Days.of(3 * 7) "P3W2D"  Days.of(3 * 7  2)
text
 the text to parse, not nullDateTimeParseException
 if the text cannot be parsed to a periodpublic static Days between(Temporal startDateInclusive, Temporal endDateExclusive)
Days
consisting of the number of days between two dates.
The start date is included, but the end date is not. The result of this method can be negative if the end is before the start.
startDateInclusive
 the start date, inclusive, not nullendDateExclusive
 the end date, exclusive, not nullpublic long get(TemporalUnit unit)
This returns a value for the supported unit  DAYS
.
All other units throw an exception.
get
in interface TemporalAmount
unit
 the TemporalUnit
for which to return the valueUnsupportedTemporalTypeException
 if the unit is not supportedpublic List<TemporalUnit> getUnits()
The single supported unit is DAYS
.
This set can be used in conjunction with get(TemporalUnit)
to access the entire state of the amount.
getUnits
in interface TemporalAmount
public int getAmount()
public Days plus(TemporalAmount amountToAdd)
The parameter is converted using from(TemporalAmount)
.
This instance is immutable and unaffected by this method call.
amountToAdd
 the amount to add, not nullDays
based on this instance with the requested amount added, not nullDateTimeException
 if the specified amount contains an invalid unitArithmeticException
 if numeric overflow occurspublic Days plus(int days)
This instance is immutable and unaffected by this method call.
days
 the amount of days to add, may be negativeDays
based on this instance with the requested amount added, not nullArithmeticException
 if the result overflows an intpublic Days minus(TemporalAmount amountToAdd)
The parameter is converted using from(TemporalAmount)
.
This instance is immutable and unaffected by this method call.
amountToAdd
 the amount to add, not nullDays
based on this instance with the requested amount subtracted, not nullDateTimeException
 if the specified amount contains an invalid unitArithmeticException
 if numeric overflow occurspublic Days minus(int days)
This instance is immutable and unaffected by this method call.
days
 the amount of days to add, may be negativeDays
based on this instance with the requested amount subtracted, not nullArithmeticException
 if the result overflows an intpublic Days multipliedBy(int scalar)
This instance is immutable and unaffected by this method call.
scalar
 the scalar to multiply by, not nullArithmeticException
 if numeric overflow occurspublic Days dividedBy(int divisor)
The calculation uses integer division, thus 3 divided by 2 is 1.
This instance is immutable and unaffected by this method call.
divisor
 the amount to divide by, may be negativeArithmeticException
 if the divisor is zeropublic Days negated()
This instance is immutable and unaffected by this method call.
ArithmeticException
 if numeric overflow occurs, which only happens if
the amount is Long.MIN_VALUE
public Days abs()
This method returns a positive duration by effectively removing the sign from any negative total length.
This instance is immutable and unaffected by this method call.
ArithmeticException
 if numeric overflow occurs, which only happens if
the amount is Long.MIN_VALUE
public Period toPeriod()
Period
.
This returns a period with the same number of days.
public Temporal addTo(Temporal temporal)
This returns a temporal object of the same observable type as the input with this amount added.
In most cases, it is clearer to reverse the calling pattern by using
Temporal.plus(TemporalAmount)
.
// these two lines are equivalent, but the second approach is recommended dateTime = thisAmount.addTo(dateTime); dateTime = dateTime.plus(thisAmount);
Only nonzero amounts will be added.
This instance is immutable and unaffected by this method call.
addTo
in interface TemporalAmount
temporal
 the temporal object to adjust, not nullDateTimeException
 if unable to addUnsupportedTemporalTypeException
 if the DAYS unit is not supportedArithmeticException
 if numeric overflow occurspublic Temporal subtractFrom(Temporal temporal)
This returns a temporal object of the same observable type as the input with this amount subtracted.
In most cases, it is clearer to reverse the calling pattern by using
Temporal.minus(TemporalAmount)
.
// these two lines are equivalent, but the second approach is recommended dateTime = thisAmount.subtractFrom(dateTime); dateTime = dateTime.minus(thisAmount);
Only nonzero amounts will be subtracted.
This instance is immutable and unaffected by this method call.
subtractFrom
in interface TemporalAmount
temporal
 the temporal object to adjust, not nullDateTimeException
 if unable to subtractUnsupportedTemporalTypeException
 if the DAYS unit is not supportedArithmeticException
 if numeric overflow occurspublic int compareTo(Days otherAmount)
Days
.
The comparison is based on the total length of the amounts.
It is "consistent with equals", as defined by Comparable
.
compareTo
in interface Comparable<Days>
otherAmount
 the other amount, not nullpublic boolean equals(Object otherAmount)
Days
.
The comparison is based on the total length of the durations.
public int hashCode()
Copyright © 2010–2017 ThreeTen.org. All rights reserved.