Skip to main content
namespace Temporal

Classes

A Temporal.Calendar is a representation of a calendar system. It includes information about how many days are in each year, how many months are in each year, how many days are in each month, and how to do arithmetic in that calendar system.

A Temporal.Duration represents an immutable duration of time which can be used in date/time arithmetic.

A Temporal.Instant is an exact point in time, with a precision in nanoseconds. No time zone or calendar information is present. Therefore, Temporal.Instant has no concept of days, months, or even hours.

A Temporal.PlainDate represents a calendar date. "Calendar date" refers to the concept of a date as expressed in everyday usage, independent of any time zone. For example, it could be used to represent an event on a calendar which happens during the whole day no matter which time zone it's happening in.

A Temporal.PlainDateTime represents a calendar date and wall-clock time, with a precision in nanoseconds, and without any time zone. Of the Temporal classes carrying human-readable time information, it is the most general and complete one. Temporal.PlainDate, Temporal.PlainTime, Temporal.PlainYearMonth, and Temporal.PlainMonthDay all carry less information and should be used when complete information is not required.

A Temporal.PlainMonthDay represents a particular day on the calendar, but without a year. For example, it could be used to represent a yearly recurring event, like "Bastille Day is on the 14th of July."

A Temporal.PlainTime represents a wall-clock time, with a precision in nanoseconds, and without any time zone. "Wall-clock time" refers to the concept of a time as expressed in everyday usage — the time that you read off the clock on the wall. For example, it could be used to represent an event that happens daily at a certain time, no matter what time zone.

A Temporal.PlainYearMonth represents a particular month on the calendar. For example, it could be used to represent a particular instance of a monthly recurring event, like "the June 2019 meeting".

A Temporal.TimeZone is a representation of a time zone: either an IANA time zone, including information about the time zone such as the offset between the local time and UTC at a particular time, and daylight saving time (DST) changes; or simply a particular UTC offset with no DST.

Variables

The Temporal.Now object has several methods which give information about the current date, time, and time zone.

Interfaces

Options to control the result of until() and since() methods in Temporal types.

Options to control behavior of Duration.compare(), Duration.add(), and Duration.subtract()

A plain object implementing the protocol for a custom time zone.

Type Aliases

Options for arithmetic operations like add() and subtract()

Options for assigning fields using with() or entire objects with from().

Any of these types can be passed to Temporal methods instead of a Temporal.Calendar.

Options for assigning fields using Duration.prototype.with() or entire objects with Duration.from(), and for arithmetic with Duration.prototype.add() and Duration.prototype.subtract().

The round method of the Temporal.Duration accepts one required parameter. If a string is provided, the resulting Temporal.Duration object will be rounded to that unit. If an object is provided, the smallestUnit and/or largestUnit property is required, while other properties are optional. A string parameter is treated the same as an object whose smallestUnit property value is that string.

Options to control behavior of Duration.prototype.total()

When the name of a unit is provided to a Temporal API as a string, it is usually singular, e.g. 'day' or 'hour'. But plural unit names like 'days' or 'hours' are aso accepted too.

round methods take one required parameter. If a string is provided, the resulting Temporal.Duration object will be rounded to that unit. If an object is provided, its smallestUnit property is required while other properties are optional. A string is treated the same as an object whose smallestUnit property value is that string.

Any of these types can be passed to Temporal methods instead of a Temporal.TimeZone.

Options for conversions of Temporal.PlainDateTime to Temporal.Instant

Options for outputting precision in toString() on types with seconds