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.
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.
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
The Temporal.Now
object has several methods which give information about
the current date, time, and time zone.