Month
Extends:
A month-of-year, such as 'July'.
Month is representing the 12 months of the year - January, February, March, April, May, June, July, August, September, October, November and December.
In addition to the textual name, each month-of-year has an int
value.
The int
value follows normal usage and the ISO-8601 standard,
from 1 (January) to 12 (December). It is recommended that applications use the static values defined by this class
rather than the int
value to ensure code clarity.
This class represents a common concept that is found in many calendar systems. As such, this class may be used by any calendar system that has the month-of-year concept defined exactly equivalent to the ISO-8601 calendar system.
Static properties of Class Month
Month.JANUARY, Month.FEBRUARY, Month.MARCH, Month.APRIL, Month.MAY, Month.JUNE, Month.JULY, Month.AUGUST, Month.SEPTEMBER, Month.OCTOBER, Month.NOVEMBER, Month.DECEMBER
Static Method Summary
Static Public Methods | ||
public static |
from(temporal: TemporalAccessor): Month Obtains an instance of Month from a temporal object. |
|
public static |
|
|
public static |
|
|
public static |
replacement for enum values |
Method Summary
Public Methods | ||
public |
adjustInto(temporal: Temporal): Temporal Adjusts the specified temporal object to have this month-of-year. |
|
public |
Compares this Month to another Month. |
|
public |
displayName(style: TextStyle, locale: Locale): string Gets the textual representation, such as 'Jan' or 'December'. |
|
public |
equals(other: *): boolean |
|
public |
firstDayOfYear(leapYear: boolean): number Gets the day-of-year corresponding to the first day of this month. |
|
public |
Gets the month corresponding to the first month of this quarter. |
|
public |
get(field: TemporalField): Number Gets the value of the specified field from this month-of-year as an |
|
public |
getLong(field: TemporalField): Number Gets the value of the specified field from this month-of-year as a |
|
public |
isSupported(field: TemporalField): boolean Checks if the specified field is supported. |
|
public |
length(leapYear: boolean): number Gets the length of this month in days. |
|
public |
maxLength(): number Gets the maximum length of this month in days. |
|
public |
minLength(): number Gets the minimum length of this month in days. |
|
public |
Returns the month-of-year that is the specified number of months before this one. |
|
public |
name(): string |
|
public |
ordinal(): number |
|
public |
Returns the month-of-year that is the specified number of months after this one. |
|
public |
query(query: TemporalQuery): * Queries this month-of-year using the specified query. |
|
public |
toJSON(): string toJSON() use by JSON.stringify delegates to toString() |
|
public |
toString(): String toString implementation... |
|
public |
value(): number |
Inherited Summary
From class TemporalAccessor | ||
public |
get(field: TemporalField): number Gets the value of the specified field as an |
|
public |
getLong(field: *) |
|
public |
isSupported(field: *) |
|
public |
query(query: TemporalQuery): * Queries this date-time. |
|
public |
range(field: TemporalField): ValueRange Gets the range of valid values for the specified field. |
Static Public Methods
public static from(temporal: TemporalAccessor): Month source
Obtains an instance of Month from a temporal object.
This obtains a month based on the specified temporal. A TemporalAccessor represents an arbitrary set of date and time information, which this factory converts to an instance of Month.
The conversion extracts the MONTH_OF_YEAR (see ChronoField#MONTH_OF_YEAR) field. The extraction is only permitted if the temporal object has an ISO chronology, or can be converted to a LocalDate.
This method matches the signature of the functional interface TemporalQuery allowing it to be used in queries via method reference, Month::from.
Params:
Name | Type | Attribute | Description |
temporal | TemporalAccessor | the temporal object to convert, not null |
Throw:
* |
DateTimeException if unable to convert to a Month |
Public Methods
public adjustInto(temporal: Temporal): Temporal source
Adjusts the specified temporal object to have this month-of-year.
This returns a temporal object of the same observable type as the input with the month-of-year changed to be the same as this.
The adjustment is equivalent to using Temporal#with passing ChronoField#MONTH_OF_YEAR as the field. If the specified temporal object does not use the ISO calendar system then a DateTimeException is thrown.
In most cases, it is clearer to reverse the calling pattern by using Temporal#with:
// these two lines are equivalent, but the second approach is recommended temporal = thisMonth.adjustInto(temporal); temporal = temporal.with(thisMonth);
For example, given a date in May, the following are output:
dateInMay.with(JANUARY); // four months earlier dateInMay.with(APRIL); // one months earlier dateInMay.with(MAY); // same date dateInMay.with(JUNE); // one month later dateInMay.with(DECEMBER); // seven months later
This instance is immutable and unaffected by this method call.
Params:
Name | Type | Attribute | Description |
temporal | Temporal | the target object to be adjusted, not null |
Throw:
* |
DateTimeException if unable to make the adjustment |
* |
ArithmeticException if numeric overflow occurs |
public compareTo(other: Month): number source
Compares this Month to another Month.
The comparison is based on the value of the Month. It is "consistent with equals", as defined by Comparable.
Params:
Name | Type | Attribute | Description |
other | Month | the other year to compare to, not null |
Return:
number | the comparator value, negative if less, positive if greater |
public displayName(style: TextStyle, locale: Locale): string source
Gets the textual representation, such as 'Jan' or 'December'.
This returns the textual name used to identify the month-of-year. The parameters control the length of the returned text and the locale.
If no textual mapping is found then the numeric value (see getValue) is returned.
Return:
string | the text value of the day-of-week, not null |
public equals(other: *): boolean source
Params:
Name | Type | Attribute | Description |
other | * |
Return:
boolean |
public firstDayOfYear(leapYear: boolean): number source
Gets the day-of-year corresponding to the first day of this month.
This returns the day-of-year that this month begins on, using the leap year flag to determine the length of February.
Params:
Name | Type | Attribute | Description |
leapYear | boolean | true if the length is required for a leap year |
Return:
number | the day of year corresponding to the first day of this month, from 1 to 336 |
public firstMonthOfQuarter(): Month source
Gets the month corresponding to the first month of this quarter.
The year can be divided into four quarters. This method returns the first month of the quarter for the base month. January, February and March return January. April, May and June return April. July, August and September return July. October, November and December return October.
public get(field: TemporalField): Number source
Gets the value of the specified field from this month-of-year as an int
.
This queries this month for the value of 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 MONTH_OF_YEAR (see ChronoField#MONTH_OF_YEAR) then the value of the month-of-year, from 1 to 12, will be returned. All other ChronoField instances will throw an UnsupportedTemporalTypeException.
If the field is not a ChronoField, then the result of this method
is obtained by invoking TemporalField.getFrom
passing this
as the argument. Whether the value can be obtained,
and what the value represents, is determined by the field.
Override:
TemporalAccessor#getParams:
Name | Type | Attribute | Description |
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 or the value is outside the range of valid values for the field |
* |
UnsupportedTemporalTypeException if the field is not supported or
the range of values exceeds an |
* |
ArithmeticException if numeric overflow occurs |
public getLong(field: TemporalField): Number source
Gets the value of the specified field from this month-of-year as a long
.
This queries this month for the value of 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 MONTH_OF_YEAR (see ChronoField#MONTH_OF_YEAR) then the value of the month-of-year, from 1 to 12, will be returned. All other ChronoField instances will throw an UnsupportedTemporalTypeException.
If the field is not a ChronoField, then the result of this method
is obtained by invoking TemporalField.getFrom
passing this
as the argument. Whether the value can be obtained,
and what the value represents, is determined by the field.
Override:
TemporalAccessor#getLongParams:
Name | Type | Attribute | Description |
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 |
* |
UnsupportedTemporalTypeException if the field is not supported |
* |
ArithmeticException if numeric overflow occurs |
public isSupported(field: TemporalField): boolean source
Checks if the specified field is supported.
This checks if this month-of-year can be queried for the specified field. If false, then calling the range (see range) and get (see get) methods will throw an exception.
If the field is MONTH_OF_YEAR (see ChronoField#MONTH_OF_YEAR) then this method returns true. All other ChronoField instances will return false.
If the field is not a ChronoField, then the result of this method
is obtained by invoking TemporalField.isSupportedBy
passing this
as the argument.
Whether the field is supported is determined by the field.
Override:
TemporalAccessor#isSupportedParams:
Name | Type | Attribute | Description |
field | TemporalField | the field to check, null returns false |
Return:
boolean | true if the field is supported on this month-of-year, false if not |
public length(leapYear: boolean): number source
Gets the length of this month in days.
This takes a flag to determine whether to return the length for a leap year or not.
February has 28 days in a standard year and 29 days in a leap year. April, June, September and November have 30 days. All other months have 31 days.
Params:
Name | Type | Attribute | Description |
leapYear | boolean | true if the length is required for a leap year |
Return:
number | the length of this month in days, from 28 to 31 |
public maxLength(): number source
Gets the maximum length of this month in days.
February has a maximum length of 29 days. April, June, September and November have 30 days. All other months have 31 days.
Return:
number | the maximum length of this month in days, from 29 to 31 |
public minLength(): number source
Gets the minimum length of this month in days.
February has a minimum length of 28 days. April, June, September and November have 30 days. All other months have 31 days.
Return:
number | the minimum length of this month in days, from 28 to 31 |
public minus(months: number): Month source
Returns the month-of-year that is the specified number of months before this one.
The calculation rolls around the start of the year from January to December. The specified period may be negative.
This instance is immutable and unaffected by this method call.
Params:
Name | Type | Attribute | Description |
months | number | the months to subtract, positive or negative |
public plus(months: number): Month source
Returns the month-of-year that is the specified number of months after this one.
The calculation rolls around the end of the year from December to January. The specified period may be negative.
This instance is immutable and unaffected by this method call.
Params:
Name | Type | Attribute | Description |
months | number | the months to add, positive or negative |
public query(query: TemporalQuery): * source
Queries this month-of-year using the specified query.
This queries this month-of-year using the specified query strategy object. The 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
TemporalQuery#queryFrom method on the
specified query passing this
as the argument.
Override:
TemporalAccessor#queryParams:
Name | Type | Attribute | Description |
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 toJSON(): string source
toJSON() use by JSON.stringify delegates to toString()
Return:
string |
public toString(): String source
toString implementation... in JDK this is inherited from the Enum class
Return:
String |