import {DefaultInterfaceTemporal} from '@js-joda/root/packages/core/src/temporal/DefaultInterfaceTemporal.js'
DefaultInterfaceTemporal
Extends:
Direct Subclass:
Indirect Subclass:
Method Summary
Public Methods | ||
public |
minusAmount(amount: TemporalAmount): Temporal Returns an object of the same type as this object with an amount subtracted. |
|
public |
minusAmountUnit(amountToSubtract: number, unit: TemporalUnit): Temporal Returns an object of the same type as this object with the specified period subtracted. |
|
public |
plusAmount(amount: TemporalAmount): Temporal Returns an object of the same type as this object with an amount added. |
|
public |
withAdjuster(adjuster: TemporalAdjuster): Temporal Returns an adjusted object of the same type as this object with the adjustment made. |
Inherited Summary
From class TemporalAccessor | ||
public |
get(field: TemporalField): number Gets the value of the specified field as an |
|
public |
query(query: TemporalQuery): * Queries this date-time. |
|
public |
range(field: TemporalField): ValueRange Gets the range of valid values for the specified field. |
From class Temporal | ||
public |
isSupported(unit: TemporalUnit): boolean Checks if the specified unit is supported. |
|
public |
minus(p1: TemporalAmount | number, p2: TemporalUnit): Temporal function overloading for Temporal.plus |
|
public |
minusAmount(amount: TemporalAmount): Temporal Returns an object of the same type as this object with an amount subtracted. |
|
public |
minusAmountUnit(amountToSubtract: number, unit: TemporalUnit): Temporal Returns an object of the same type as this object with the specified period subtracted. |
|
public |
plus(p1: TemporalAmount | number, p2: TemporalUnit): Temporal function overloading for Temporal.plus |
|
public |
plusAmount(amount: TemporalAmount): Temporal Returns an object of the same type as this object with an amount added. |
|
public |
plusAmountUnit(amountToAdd: number, unit: TemporalUnit): Temporal Returns an object of the same type as this object with the specified period added. |
|
public |
until(endTemporal: Temporal, unit: TemporalUnit): number Calculates the period between this temporal and another temporal in terms of the specified unit. |
|
public |
with(p1: TemporalAdjuster | TemporalField, p2: number): Temporal function overloading for Temporal.with |
|
public |
withAdjuster(adjuster: TemporalAdjuster): Temporal Returns an adjusted object of the same type as this object with the adjustment made. |
|
public |
withFieldValue(field: TemporalField, newValue: number): Temporal Returns an object of the same type as this object with the specified field altered. |
Public Methods
public minusAmount(amount: TemporalAmount): Temporal source
Returns an object of the same type as this object with an amount subtracted. This adjusts this temporal, subtracting according to the rules of the specified amount. The amount is typically a Period but may be any other type implementing the TemporalAmount interface, such as Duration.
Some example code indicating how and why this method is used:
date = date.minus(period); // subtract a Period instance date = date.minus(duration); // subtract a Duration instance date = date.minus(workingDays(6)); // example user-written workingDays method
Note that calling plus followed by minus is not guaranteed to return the same date-time.
Specification for implementors
Implementations must not alter either this object. Instead, an adjusted copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable implementations.
Override:
Temporal#minusAmountParams:
Name | Type | Attribute | Description |
amount | TemporalAmount | the amount to subtract, not null |
Throw:
* |
DateTimeException - if the subtraction cannot be made |
* |
ArithmeticException - if numeric overflow occurs |
public minusAmountUnit(amountToSubtract: number, unit: TemporalUnit): Temporal source
Returns an object of the same type as this object with the specified period subtracted. This method returns a new object based on this one with the specified period subtracted. For example, on a LocalDate, this could be used to subtract a number of years, months or days. The returned object will have the same observable type as this object.
In some cases, changing a field is not fully defined. For example, if the target object is a date representing the 31st March, then subtracting one month would be unclear. In cases like this, the field is responsible for resolving the result. Typically it will choose the previous valid date, which would be the last valid day of February in this example.
If the implementation represents a date-time that has boundaries, such as LocalTime, then the permitted units must include the boundary unit, but no multiples of the boundary unit. For example, LocalTime must accept DAYS
but not WEEKS
or MONTHS
.
Specification for implementors
Implementations must behave in a manor equivalent to the default method behavior. Implementations must not alter either this object or the specified temporal object. Instead, an adjusted copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable implementations.
Override:
Temporal#minusAmountUnitParams:
Name | Type | Attribute | Description |
amountToSubtract | number | the amount of the specified unit to subtract, may be negative |
|
unit | TemporalUnit | the unit of the period to subtract, not null |
Throw:
* |
DateTimeException - if the unit cannot be subtracted |
* |
ArithmeticException - if numeric overflow occurs |
public plusAmount(amount: TemporalAmount): Temporal source
Returns an object of the same type as this object with an amount added. This adjusts this temporal, adding according to the rules of the specified amount. The amount is typically a Period but may be any other type implementing the TemporalAmount interface, such as Duration.
Some example code indicating how and why this method is used:
date = date.plus(period); // add a Period instance date = date.plus(duration); // add a Duration instance date = date.plus(workingDays(6)); // example user-written workingDays method
Note that calling plus followed by minus is not guaranteed to return the same date-time.
Specification for implementors
Implementations must not alter either this object. Instead, an adjusted copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable implementations.
Override:
Temporal#plusAmountParams:
Name | Type | Attribute | Description |
amount | TemporalAmount | the amount to add, not null |
Throw:
* |
DateTimeException - if the addition cannot be made |
* |
ArithmeticException - if numeric overflow occurs |
public withAdjuster(adjuster: TemporalAdjuster): Temporal source
Returns an adjusted object of the same type as this object with the adjustment made. This adjusts this date-time according to the rules of the specified adjuster. A simple adjuster might simply set the one of the fields, such as the year field. A more complex adjuster might set the date to the last day of the month. A selection of common adjustments is provided in TemporalAdjusters. These include finding the "last day of the month" and "next Wednesday". The adjuster is responsible for handling special cases, such as the varying lengths of month and leap years.
Some example code indicating how and why this method is used:
date = date.with(Month.JULY); // most key classes implement TemporalAdjuster date = date.with(lastDayOfMonth()); // static import from TemporalAdjusters date = date.with(next(WEDNESDAY)); // static import from TemporalAdjusters and DayOfWeek
Specification for implementors
Implementations must not alter either this object. Instead, an adjusted copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable implementations.
Override:
Temporal#withAdjusterParams:
Name | Type | Attribute | Description |
adjuster | TemporalAdjuster | the adjuster to use, not null |
Throw:
* |
DateTimeException - if unable to make the adjustment |
* |
ArithmeticException - if numeric overflow occurs |