Top Description Fields Constructors Methods
org.threeten.extra

public final Class Minutes

extends Object
implements TemporalAmount, Comparable<Minutes>, Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable, java.lang.Comparable, java.time.temporal.TemporalAmount
Static Imports
java.time.temporal.ChronoUnit.MINUTES

A minute-based amount of time, such as '8 minutes'.

This class models a quantity or amount of time in terms of minutes. It is a type-safe way of representing a number of minutes in an application.

The model is of a directed amount, meaning that the amount may be negative.

Implementation Requirements:

This class is immutable and thread-safe.

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 ==.

Field Summary

Modifier and TypeField and Description
private final int
minutes

The number of minutes.

private static final int
MINUTES_PER_DAY

The number of minutes per day.

private static final int
MINUTES_PER_HOUR

The number of minutes per hour.

private static final Pattern
PATTERN

The pattern for parsing.

private static final long
serialVersionUID

A serialization identifier for this class.

public static final Minutes
ZERO

A constant for zero minutes.

Constructor Summary

AccessConstructor and Description
private
Minutes(int
the amount of minutes
minutes
)

Constructs an instance using a specific number of minutes.

Method Summary

Modifier and TypeMethod and Description
public Minutes

Returns:

the absolute amount, not null
abs
()

Returns a copy of this duration with a positive length.

public Temporal

Returns:

an object of the same type with the adjustment made, not null
addTo
(Temporal
the temporal object to adjust, not null
temporal
)

Implements java.time.temporal.TemporalAmount.addTo.

Adds this amount to the specified temporal object.

public static Minutes

Returns:

the number of minutes between the start and end temporals, not null
between
(Temporal
the start temporal, inclusive, not null
startInclusive
,
Temporal
the end temporal, exclusive, not null
endExclusive
)

Obtains a Minutes consisting of the number of minutes between two temporals.

public int

Returns:

the comparator value, negative if less, positive if greater
compareTo
(Minutes
the other amount, not null
otherAmount
)

Implements java.lang.Comparable.compareTo.

Compares this amount to the specified Minutes.

public Minutes

Returns:

the amount divided by the specified divisor, not null
dividedBy
(int
the amount to divide by, may be negative
divisor
)

Returns an instance with the amount divided by the specified divisor.

public boolean

Returns:

true if the other amount is equal to this one
equals
(Object
the other amount, null returns false
otherAmount
)

Overrides java.lang.Object.equals.

Checks if this amount is equal to the specified Minutes.

public static Minutes

Returns:

the equivalent amount, not null
from
(TemporalAmount
the temporal amount to convert, not null
amount
)

Obtains an instance of Minutes from a temporal amount.

public long

Returns:

the long value of the unit
get
(TemporalUnit
the TemporalUnit for which to return the value
unit
)

Implements java.time.temporal.TemporalAmount.get.

Gets the value of the requested unit.

public int

Returns:

the number of minutes
getAmount
()

Gets the number of minutes in this amount.

public List<TemporalUnit>

Returns:

a list containing the minutes unit, not null
getUnits
()

Implements java.time.temporal.TemporalAmount.getUnits.

Gets the set of units supported by this amount.

public int

Returns:

a suitable hash code
hashCode
()

Overrides java.lang.Object.hashCode.

A hash code for this amount.

public boolean

Returns:

true if the amount is negative, false if the amount is zero or positive
isNegative
()

Checks if the amount is negative.

public boolean

Returns:

true if the amount is positive, false if the amount is zero or negative
isPositive
()

Checks if the amount is positive.

public boolean

Returns:

true if the amount is zero, false if not
isZero
()

Checks if the amount is zero.

public Minutes

Returns:

a Minutes based on this instance with the requested amount subtracted, not null
minus
(TemporalAmount
the amount to subtract, not null
amountToSubtract
)

Returns a copy of this amount with the specified amount subtracted.

public Minutes

Returns:

a Minutes based on this instance with the requested amount subtracted, not null
minus
(int
the amount of minutes to add, may be negative
minutes
)

Returns a copy of this amount with the specified number of minutes subtracted.

public Minutes

Returns:

the amount multiplied by the specified scalar, not null
multipliedBy
(int
the scalar to multiply by, not null
scalar
)

Returns an instance with the amount multiplied by the specified scalar.

public Minutes

Returns:

the negated amount, not null
negated
()

Returns an instance with the amount negated.

public static Minutes

Returns:

the number of minutes, not null
of
(int
the number of minutes, positive or negative
minutes
)

Obtains a Minutes representing a number of minutes.

public static Minutes

Returns:

the amount with the input hours converted to minutes, not null
ofHours
(int
the number of hours, positive or negative
hours
)

Obtains a Minutes representing the number of minutes equivalent to a number of hours.

public static Minutes

Returns:

the parsed period, not null
parse
(CharSequence
the text to parse, not null
text
)

Obtains a Minutes from a text string such as PTnM.

public Minutes

Returns:

a Minutes based on this instance with the requested amount added, not null
plus
(TemporalAmount
the amount to add, not null
amountToAdd
)

Returns a copy of this amount with the specified amount added.

public Minutes

Returns:

a Minutes based on this instance with the requested amount added, not null
plus
(int
the amount of minutes to add, may be negative
minutes
)

Returns a copy of this amount with the specified number of minutes added.

private Object

Returns:

the singleton instance
readResolve
()

Resolves singletons.

public Temporal

Returns:

an object of the same type with the adjustment made, not null
subtractFrom
(Temporal
the temporal object to adjust, not null
temporal
)

Implements java.time.temporal.TemporalAmount.subtractFrom.

Subtracts this amount from the specified temporal object.

public Duration

Returns:

the equivalent duration, not null
toDuration
()

Gets the number of minutes as a Duration.

public String

Returns:

the number of minutes in ISO-8601 string format
toString
()

Overrides java.lang.Object.toString.

Returns a string representation of the number of minutes.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

minutesback to summary
private final int minutes

The number of minutes.

MINUTES_PER_DAYback to summary
private static final int MINUTES_PER_DAY

The number of minutes per day.

MINUTES_PER_HOURback to summary
private static final int MINUTES_PER_HOUR

The number of minutes per hour.

PATTERNback to summary
private static final Pattern PATTERN

The pattern for parsing.

serialVersionUIDback to summary
private static final long serialVersionUID

A serialization identifier for this class.

ZEROback to summary
public static final Minutes ZERO

A constant for zero minutes.

Constructor Detail

Minutesback to summary
private Minutes(int minutes)

Constructs an instance using a specific number of minutes.

Parameters
minutes:int

the amount of minutes

Method Detail

absback to summary
public Minutes abs()

Returns a copy of this duration with a positive length.

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.

Returns:Minutes

the absolute amount, not null

Exceptions
ArithmeticException:
if numeric overflow occurs, which only happens if the amount is Long.MIN_VALUE
addToback to summary
public Temporal addTo(Temporal temporal)

Implements java.time.temporal.TemporalAmount.addTo.

Adds this amount to the specified temporal object.

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 non-zero amounts will be added.

This instance is immutable and unaffected by this method call.

Parameters
temporal:Temporal

the temporal object to adjust, not null

Returns:Temporal

an object of the same type with the adjustment made, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to add
UnsupportedTemporalTypeException:
if the MINUTES unit is not supported
ArithmeticException:
if numeric overflow occurs
betweenback to summary
public static Minutes between(Temporal startInclusive, Temporal endExclusive)

Obtains a Minutes consisting of the number of minutes between two temporals.

The start temporal is included, but the end temporal is not. The result of this method can be negative if the end is before the start.

Parameters
startInclusive:Temporal

the start temporal, inclusive, not null

endExclusive:Temporal

the end temporal, exclusive, not null

Returns:Minutes

the number of minutes between the start and end temporals, not null

compareToback to summary
public int compareTo(Minutes otherAmount)

Implements java.lang.Comparable.compareTo.

Compares this amount to the specified Minutes.

The comparison is based on the total length of the amounts. It is "consistent with equals", as defined by Comparable.

Parameters
otherAmount:Minutes

the other amount, not null

Returns:int

the comparator value, negative if less, positive if greater

Annotations
@Override
dividedByback to summary
public Minutes dividedBy(int divisor)

Returns an instance with the amount 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:int

the amount to divide by, may be negative

Returns:Minutes

the amount divided by the specified divisor, not null

Exceptions
ArithmeticException:
if the divisor is zero
equalsback to summary
public boolean equals(Object otherAmount)

Overrides java.lang.Object.equals.

Checks if this amount is equal to the specified Minutes.

The comparison is based on the total length of the durations.

Parameters
otherAmount:Object

the other amount, null returns false

Returns:boolean

true if the other amount is equal to this one

Annotations
@Override
fromback to summary
public static Minutes from(TemporalAmount amount)

Obtains an instance of Minutes from a temporal amount.

This obtains an instance based on the specified amount. A TemporalAmount represents an amount of time, which may be date-based or time-based, which this factory extracts to a Minutes.

The result is calculated by looping around each unit in the specified amount. Each amount is converted to minutes using Temporals#convertAmount. If the conversion yields a remainder, an exception is thrown. If the amount is zero, the unit is ignored.

Parameters
amount:TemporalAmount

the temporal amount to convert, not null

Returns:Minutes

the equivalent amount, not null

Exceptions
DateTimeException:
if unable to convert to a Minutes
ArithmeticException:
if numeric overflow occurs
getback to summary
public long get(TemporalUnit unit)

Implements java.time.temporal.TemporalAmount.get.

Gets the value of the requested unit.

This returns a value for the supported unit - MINUTES. All other units throw an exception.

Parameters
unit:TemporalUnit

the TemporalUnit for which to return the value

Returns:long

the long value of the unit

Annotations
@Override
Exceptions
UnsupportedTemporalTypeException:
if the unit is not supported
getAmountback to summary
public int getAmount()

Gets the number of minutes in this amount.

Returns:int

the number of minutes

getUnitsback to summary
public List<TemporalUnit> getUnits()

Implements java.time.temporal.TemporalAmount.getUnits.

Gets the set of units supported by this amount.

The single supported unit is MINUTES.

This set can be used in conjunction with get(TemporalUnit) to access the entire state of the amount.

Returns:List<TemporalUnit>

a list containing the minutes unit, not null

Annotations
@Override
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

A hash code for this amount.

Returns:int

a suitable hash code

Annotations
@Override
isNegativeback to summary
public boolean isNegative()

Checks if the amount is negative.

Returns:boolean

true if the amount is negative, false if the amount is zero or positive

isPositiveback to summary
public boolean isPositive()

Checks if the amount is positive.

Returns:boolean

true if the amount is positive, false if the amount is zero or negative

isZeroback to summary
public boolean isZero()

Checks if the amount is zero.

Returns:boolean

true if the amount is zero, false if not

minusback to summary
public Minutes minus(TemporalAmount amountToSubtract)

Returns a copy of this amount with the specified amount subtracted.

The parameter is converted using Minutes#from(TemporalAmount).

This instance is immutable and unaffected by this method call.

Parameters
amountToSubtract:TemporalAmount

the amount to subtract, not null

Returns:Minutes

a Minutes based on this instance with the requested amount subtracted, not null

Exceptions
DateTimeException:
if the specified amount contains an invalid unit
ArithmeticException:
if numeric overflow occurs
minusback to summary
public Minutes minus(int minutes)

Returns a copy of this amount with the specified number of minutes subtracted.

This instance is immutable and unaffected by this method call.

Parameters
minutes:int

the amount of minutes to add, may be negative

Returns:Minutes

a Minutes based on this instance with the requested amount subtracted, not null

Exceptions
ArithmeticException:
if the result overflows an int
multipliedByback to summary
public Minutes multipliedBy(int scalar)

Returns an instance with the amount multiplied by the specified scalar.

This instance is immutable and unaffected by this method call.

Parameters
scalar:int

the scalar to multiply by, not null

Returns:Minutes

the amount multiplied by the specified scalar, not null

Exceptions
ArithmeticException:
if numeric overflow occurs
negatedback to summary
public Minutes negated()

Returns an instance with the amount negated.

This instance is immutable and unaffected by this method call.

Returns:Minutes

the negated amount, not null

Exceptions
ArithmeticException:
if numeric overflow occurs, which only happens if the amount is Long.MIN_VALUE
ofback to summary
public static Minutes of(int minutes)

Obtains a Minutes representing a number of minutes.

The resulting amount will have the specified minutes.

Parameters
minutes:int

the number of minutes, positive or negative

Returns:Minutes

the number of minutes, not null

ofHoursback to summary
public static Minutes ofHours(int hours)

Obtains a Minutes representing the number of minutes equivalent to a number of hours.

The resulting amount will be minute-based, with the number of minutes equal to the number of hours multiplied by 60.

Parameters
hours:int

the number of hours, positive or negative

Returns:Minutes

the amount with the input hours converted to minutes, not null

Exceptions
ArithmeticException:
if numeric overflow occurs
parseback to summary
public static Minutes parse(CharSequence text)

Obtains a Minutes from a text string such as PTnM.

This will parse the string produced by toString() and other related formats based on ISO-8601 PnDTnHnM.

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 three sections consisting of a number and a suffix. There is one section for days suffixed by "D", followed by one section for hours suffixed by "H", followed by one section for minutes suffixed by "M". At least one section must be present. If the hours or minutes section is present it must be prefixed by "T". If the hours or minutes section is omitted the "T" must be omitted. Letters must be in ASCII upper or lower case. 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 days, hours and minutes are not part of the ISO-8601 standard.

For example, the following are valid inputs:

  "PT2M"            -- Minutes.of(2)
  "PT-2M"           -- Minutes.of(-2)
  "-PT2M"           -- Minutes.of(-2)
  "-PT-2M"          -- Minutes.of(2)
  "PT3H"            -- Minutes.of(3 * 60)
  "PT3H-2M"         -- Minutes.of(3 * 60 - 2)
  "P3D"             -- Minutes.of(3 * 24 * 60)
  "P3DT2M"          -- Minutes.of(3 * 24 * 60 + 2)
Parameters
text:CharSequence

the text to parse, not null

Returns:Minutes

the parsed period, not null

Annotations
@FromString
Exceptions
DateTimeParseException:
if the text cannot be parsed to a period
plusback to summary
public Minutes plus(TemporalAmount amountToAdd)

Returns a copy of this amount with the specified amount added.

The parameter is converted using Minutes#from(TemporalAmount).

This instance is immutable and unaffected by this method call.

Parameters
amountToAdd:TemporalAmount

the amount to add, not null

Returns:Minutes

a Minutes based on this instance with the requested amount added, not null

Exceptions
DateTimeException:
if the specified amount contains an invalid unit
ArithmeticException:
if numeric overflow occurs
plusback to summary
public Minutes plus(int minutes)

Returns a copy of this amount with the specified number of minutes added.

This instance is immutable and unaffected by this method call.

Parameters
minutes:int

the amount of minutes to add, may be negative

Returns:Minutes

a Minutes based on this instance with the requested amount added, not null

Exceptions
ArithmeticException:
if the result overflows an int
readResolveback to summary
private Object readResolve()

Resolves singletons.

Returns:Object

the singleton instance

subtractFromback to summary
public Temporal subtractFrom(Temporal temporal)

Implements java.time.temporal.TemporalAmount.subtractFrom.

Subtracts this amount from the specified temporal object.

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 non-zero amounts will be subtracted.

This instance is immutable and unaffected by this method call.

Parameters
temporal:Temporal

the temporal object to adjust, not null

Returns:Temporal

an object of the same type with the adjustment made, not null

Annotations
@Override
Exceptions
DateTimeException:
if unable to subtract
UnsupportedTemporalTypeException:
if the MINUTES unit is not supported
ArithmeticException:
if numeric overflow occurs
toDurationback to summary
public Duration toDuration()

Gets the number of minutes as a Duration.

This returns a duration with the same number of minutes.

Returns:Duration

the equivalent duration, not null

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Returns a string representation of the number of minutes. This will be in the format 'PTnM' where n is the number of minutes.

Returns:String

the number of minutes in ISO-8601 string format

Annotations
@Override
@ToString