Home Reference Source Repository
import {DayOfWeek} from 'js-joda/src/DayOfWeek.js'
public class | source

DayOfWeek

Extends:

TemporalAccessorTemporal → DayOfWeek

Static properties of Class DayOfWeek

DayOfWeek.MONDAY, DayOfWeek.TUESDAY, DayOfWeek.WEDNESDAY, DayOfWeek.THURSDAY, DayOfWeek.FRIDAY, DayOfWeek.SATURDAY, DayOfWeek.SUNDAY

Static Method Summary

Static Public Methods
public static

Obtains an instance of {@code DayOfWeek} from a temporal object.

public static

of(dayOfWeek: number): DayOfWeek

Obtains an instance of {@code DayOfWeek} from an {@code int} value.

public static
public static

Method Summary

Public Methods
public

Adjusts the specified temporal object to have this day-of-week.

public

equals(other: *): boolean

public

Gets the value of the specified field from this day-of-week as an {@code int}.

public

getDisplayName(style: TextStyle, locale: Locale): string

Gets the textual representation, such as 'Mon' or 'Friday'.

public

Gets the value of the specified field from this day-of-week as a {@code long}.

public

Checks if the specified field is supported.

public

Returns the day-of-week that is the specified number of days before this one.

public
public
public

Returns the day-of-week that is the specified number of days after this one.

public

query(query: TemporalQuery): *

Queries this day-of-week using the specified query.

public

Gets the range of valid values for the specified field.

public
public

Gets the day-of-week {@code int} value.

Inherited Summary

From class TemporalAccessor
public

Gets the value of the specified field as an {@code int}.

public

query(query: TemporalQuery): *

Queries this date-time.

public

Gets the range of valid values for the specified field.

Static Public Methods

public static from(temporal: TemporalAccessor): DayOfWeek source

Obtains an instance of {@code DayOfWeek} from a temporal object.

A {@code TemporalAccessor} represents some form of date and time information. This factory converts the arbitrary temporal object to an instance of {@code DayOfWeek}.

The conversion extracts the {@link ChronoField#DAY_OF_WEEK DAY_OF_WEEK} field.

This method matches the signature of the functional interface TemporalQuery allowing it to be used as a query via method reference, {@code DayOfWeek::from}.

Params:

NameTypeAttributeDescription
temporal TemporalAccessor

the temporal object to convert, not null

Return:

DayOfWeek

the day-of-week, not null

Throw:

*

DateTimeException if unable to convert to a {@code DayOfWeek}

public static of(dayOfWeek: number): DayOfWeek source

Obtains an instance of {@code DayOfWeek} from an {@code int} value.

{@code DayOfWeek} is an enum representing the 7 days of the week. This factory allows the enum to be obtained from the {@code int} value. The {@code int} value follows the ISO-8601 standard, from 1 (Monday) to 7 (Sunday).

Params:

NameTypeAttributeDescription
dayOfWeek number
  • nullable: false

the day-of-week to represent, from 1 (Monday) to 7 (Sunday)

Return:

DayOfWeek

the day-of-week singleton, not null

Throw:

*

DateTimeException if the day-of-week is invalid

public static valueOf(name: string): DayOfWeek source

Params:

NameTypeAttributeDescription
name string

Return:

DayOfWeek

public static values(): DayOfWeek[] source

Return:

DayOfWeek[]

Public Methods

public adjustInto(temporal: TemporalAdjusters): Temporal source

Adjusts the specified temporal object to have this day-of-week.

This returns a temporal object of the same observable type as the input with the day-of-week changed to be the same as this.

The adjustment is equivalent to using {@link Temporal#with(TemporalField, long)} passing ChronoField#DAY_OF_WEEK as the field. Note that this adjusts forwards or backwards within a Monday to Sunday week. See WeekFields#dayOfWeek for localized week start days. See TemporalAdjusters for other adjusters with more control, such as {@code next(MONDAY)}.

In most cases, it is clearer to reverse the calling pattern by using {@link Temporal#with(TemporalAdjuster)}:

  // these two lines are equivalent, but the second approach is recommended
  temporal = thisDayOfWeek.adjustInto(temporal);
  temporal = temporal.with(thisDayOfWeek);

For example, given a date that is a Wednesday, the following are output:

  dateOnWed.with(MONDAY);     // two days earlier
  dateOnWed.with(TUESDAY);    // one day earlier
  dateOnWed.with(WEDNESDAY);  // same date
  dateOnWed.with(THURSDAY);   // one day later
  dateOnWed.with(FRIDAY);     // two days later
  dateOnWed.with(SATURDAY);   // three days later
  dateOnWed.with(SUNDAY);     // four days later

This instance is immutable and unaffected by this method call.

Params:

NameTypeAttributeDescription
temporal TemporalAdjusters

the target object to be adjusted, not null

Return:

Temporal

the adjusted object, not null

Throw:

*

DateTimeException if unable to make the adjustment

*

ArithmeticException if numeric overflow occurs

public equals(other: *): boolean source

Params:

NameTypeAttributeDescription
other *

Return:

boolean

public get(field: TemporalField): number source

Gets the value of the specified field from this day-of-week as an {@code int}.

This queries this day-of-week for the value for the specified field. The returned value will always be within the valid range of values for the field. If it is not possible to return the value, because the field is not supported or for some other reason, an exception is thrown.

If the field is {@link ChronoField#DAY_OF_WEEK DAY_OF_WEEK} then the value of the day-of-week, from 1 to 7, will be returned. All other {@code ChronoField} instances will throw a {@code DateTimeException}.

If the field is not a {@code ChronoField}, then the result of this method is obtained by invoking {@code TemporalField.getFrom(TemporalAccessor)} passing {@code this} as the argument. Whether the value can be obtained, and what the value represents, is determined by the field.

Override:

TemporalAccessor#get

Params:

NameTypeAttributeDescription
field TemporalField

the field to get, not null

Return:

number

the value for the field, within the valid range of values

Throw:

*

DateTimeException if a value for the field cannot be obtained

*

DateTimeException if the range of valid values for the field exceeds an {@code int}

*

DateTimeException if the value is outside the range of valid values for the field

*

ArithmeticException if numeric overflow occurs

public getDisplayName(style: TextStyle, locale: Locale): string source

Gets the textual representation, such as 'Mon' or 'Friday'.

This returns the textual name used to identify the day-of-week. The parameters control the length of the returned text and the locale.

If no textual mapping is found then the {@link #getValue() numeric value} is returned.

Params:

NameTypeAttributeDescription
style TextStyle

the length of the text required, not null

locale Locale

the locale to use, not null

Return:

string

the text value of the day-of-week, not null

public getLong(field: TemporalField): number source

Gets the value of the specified field from this day-of-week as a {@code long}.

This queries this day-of-week for the value for the specified field. If it is not possible to return the value, because the field is not supported or for some other reason, an exception is thrown.

If the field is {@link ChronoField#DAY_OF_WEEK DAY_OF_WEEK} then the value of the day-of-week, from 1 to 7, will be returned. All other {@code ChronoField} instances will throw a {@code DateTimeException}.

If the field is not a {@code ChronoField}, then the result of this method is obtained by invoking {@code TemporalField.getFrom(TemporalAccessor)} passing {@code this} as the argument. Whether the value can be obtained, and what the value represents, is determined by the field.

Params:

NameTypeAttributeDescription
field TemporalField

the field to get, not null

Return:

number

the value for the field

Throw:

*

DateTimeException if a value for the field cannot be obtained

*

ArithmeticException if numeric overflow occurs

public isSupported(field: TemporalField): boolean source

Checks if the specified field is supported.

This checks if this day-of-week can be queried for the specified field. If false, then calling the {@link #range(TemporalField) range} and {@link #get(TemporalField) get} methods will throw an exception.

If the field is {@link ChronoField#DAY_OF_WEEK DAY_OF_WEEK} then this method returns true. All other {@code ChronoField} instances will return false.

If the field is not a {@code ChronoField}, then the result of this method is obtained by invoking {@code TemporalField.isSupportedBy(TemporalAccessor)} passing {@code this} as the argument. Whether the field is supported is determined by the field.

Params:

NameTypeAttributeDescription
field TemporalField

the field to check, null returns false

Return:

boolean

true if the field is supported on this day-of-week, false if not

public minus(days: number): DayOfWeek source

Returns the day-of-week that is the specified number of days before this one.

The calculation rolls around the start of the year from Monday to Sunday. The specified period may be negative.

This instance is immutable and unaffected by this method call.

Params:

NameTypeAttributeDescription
days number

the days to subtract, positive or negative

Return:

DayOfWeek

the resulting day-of-week, not null

public name(): string source

Return:

string

public ordinal(): number source

Return:

number

public plus(days: number): DayOfWeek source

Returns the day-of-week that is the specified number of days after this one.

The calculation rolls around the end of the week from Sunday to Monday. The specified period may be negative.

This instance is immutable and unaffected by this method call.

Params:

NameTypeAttributeDescription
days number

the days to add, positive or negative

Return:

DayOfWeek

the resulting day-of-week, not null

public query(query: TemporalQuery): * source

Queries this day-of-week using the specified query.

This queries this day-of-week using the specified query strategy object. The {@code TemporalQuery} object defines the logic to be used to obtain the result. Read the documentation of the query to understand what the result of this method will be.

The result of this method is obtained by invoking the {@link TemporalQuery#queryFrom(TemporalAccessor)} method on the specified query passing {@code this} as the argument.

Override:

TemporalAccessor#query

Params:

NameTypeAttributeDescription
query TemporalQuery

the query to invoke, not null

Return:

*

the query result, null may be returned (defined by the query)

Throw:

*

DateTimeException if unable to query (defined by the query)

*

ArithmeticException if numeric overflow occurs (defined by the query)

public range(field: TemporalField): ValueRange source

Gets the range of valid values for the specified field.

The range object expresses the minimum and maximum valid values for a field. This day-of-week is used to enhance the accuracy of the returned range. If it is not possible to return the range, because the field is not supported or for some other reason, an exception is thrown.

If the field is {@link ChronoField#DAY_OF_WEEK DAY_OF_WEEK} then the range of the day-of-week, from 1 to 7, will be returned. All other {@code ChronoField} instances will throw a {@code DateTimeException}.

If the field is not a {@code ChronoField}, then the result of this method is obtained by invoking {@code TemporalField.rangeRefinedBy(TemporalAccessor)} passing {@code this} as the argument. Whether the range can be obtained is determined by the field.

Override:

TemporalAccessor#range

Params:

NameTypeAttributeDescription
field TemporalField

the field to query the range for, not null

Return:

ValueRange

the range of valid values for the field, not null

Throw:

*

DateTimeException if the range for the field cannot be obtained

public toString(): string source

Return:

string

public value(): number source

Gets the day-of-week {@code int} value.

The values are numbered following the ISO-8601 standard, from 1 (Monday) to 7 (Sunday). See WeekFields#dayOfWeek for localized week-numbering.

Return:

number

the day-of-week, from 1 (Monday) to 7 (Sunday)