Menu
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS DSA TYPESCRIPT ANGULAR ANGULARJS GIT POSTGRESQL MONGODB ASP AI R GO KOTLIN SWIFT SASS VUE GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE INTRO TO PROGRAMMING INTRO TO HTML & CSS BASH RUST

JS Reference

JS by Category JS by Alphabet

JavaScript

JS Arrays JS Boolean JS Classes JS Dates JS Function JS Error JS Global JS Iterators JS JSON JS Maps JS Math JS Numbers JS Objects JS Operators JS Assignment JS Arithmetic JS Comparison JS Logical Operators JS Bitwise Operators JS Misc Operators JS Precedence JS Promises JS Proxy JS Reflect JS RegExp Patterns JS RegExp Reference JS Sets JS Statements JS Strings JS Temporal JS Typed Arrays JS Typed Reference

Window

Window Object Window Console Window History Window Location Window Navigator Window Screen

HTML DOM

HTML Documents HTML Elements HTML Attributes HTML Collection HTML NodeList HTML DOMTokenList HTML Styles
alignContent alignItems alignSelf animation animationDelay animationDirection animationDuration animationFillMode animationIterationCount animationName animationTimingFunction animationPlayState background backgroundAttachment backgroundClip backgroundColor backgroundImage backgroundOrigin backgroundPosition backgroundRepeat backgroundSize backfaceVisibility border borderBottom borderBottomColor borderBottomLeftRadius borderBottomRightRadius borderBottomStyle borderBottomWidth borderCollapse borderColor borderImage borderImageOutset borderImageRepeat borderImageSlice borderImageSource borderImageWidth borderLeft borderLeftColor borderLeftStyle borderLeftWidth borderRadius borderRight borderRightColor borderRightStyle borderRightWidth borderSpacing borderStyle borderTop borderTopColor borderTopLeftRadius borderTopRightRadius borderTopStyle borderTopWidth borderWidth bottom boxShadow boxSizing captionSide caretColor clear clip color columnCount columnFill columnGap columnRule columnRuleColor columnRuleStyle columnRuleWidth columns columnSpan columnWidth counterIncrement counterReset cssFloat cursor direction display emptyCells filter flex flexBasis flexDirection flexFlow flexGrow flexShrink flexWrap font fontFamily fontSize fontStyle fontVariant fontWeight fontSizeAdjust height isolation justifyContent left letterSpacing lineHeight listStyle listStyleImage listStylePosition listStyleType margin marginBottom marginLeft marginRight marginTop maxHeight maxWidth minHeight minWidth objectFit objectPosition opacity order orphans outline outlineColor outlineOffset outlineStyle outlineWidth overflow overflowX overflowY padding paddingBottom paddingLeft paddingRight paddingTop pageBreakAfter pageBreakBefore pageBreakInside perspective perspectiveOrigin position quotes resize right scrollBehavior tableLayout tabSize textAlign textAlignLast textDecoration textDecorationColor textDecorationLine textDecorationStyle textIndent textOverflow textShadow textTransform top transform transformOrigin transformStyle transition transitionProperty transitionDuration transitionTimingFunction transitionDelay unicodeBidi userSelect verticalAlign visibility width wordBreak wordSpacing wordWrap widows zIndex

HTML Events

HTML Events HTML Event Objects HTML Event Properties HTML Event Methods

Web APIs

API Canvas API Console API Fetch API Fullscreen API Geolocation API History API MediaQueryList API Storage API Validation API Web

HTML Objects

<a> <abbr> <address> <area> <article> <aside> <audio> <b> <base> <bdo> <blockquote> <body> <br> <button> <canvas> <caption> <cite> <code> <col> <colgroup> <datalist> <dd> <del> <details> <dfn> <dialog> <div> <dl> <dt> <em> <embed> <fieldset> <figcaption> <figure> <footer> <form> <head> <header> <h1> - <h6> <hr> <html> <i> <iframe> <img> <ins> <input> button <input> checkbox <input> color <input> date <input> datetime <input> datetime-local <input> email <input> file <input> hidden <input> image <input> month <input> number <input> password <input> radio <input> range <input> reset <input> search <input> submit <input> text <input> time <input> url <input> week <kbd> <label> <legend> <li> <link> <map> <mark> <menu> <menuitem> <meta> <meter> <nav> <object> <ol> <optgroup> <option> <output> <p> <param> <pre> <progress> <q> <s> <samp> <script> <section> <select> <small> <source> <span> <strong> <style> <sub> <summary> <sup> <table> <tbody> <td> <tfoot> <th> <thead> <tr> <textarea> <time> <title> <track> <u> <ul> <var> <video>

Other References

CSSStyleDeclaration JS Conversion


JavaScript Temporal Dates

JavaScript Temporal Date Reference

Revised March 2026

ObjectDescription
Temporal.NowCurrent time (UTC timestamp)
Temporal.InstantExact moment in time (UTC timestamp)
Temporal.PlainDatePlain date only (year, month, day)
Temporal.PlainTimePlain time without a time zone
Temporal.PlainDateTimeDate and time without a time zone
Temporal.ZonedDateTimeDate and time with a time zone
Temporal.DurationLength of time (days, hours, minutes)

New to JavaScript Temporal Dates?

Visit Our JavaScript Temporal Date Tutorial

Temporal Map

Main Temporal Objects

Temporal objects are the core part of the Temporal API which aims to replace the old Date object.

All Temporal objects are immutable, which helps prevent bugs related to accidental modification of time values.

ObjectDescription
Temporal.NowThe current time
Temporal.ZonedDateTimeDate and time in a specific time zone
Temporal.InstantA fixed point in time, independent of time zone

Plain Dates and Times

Temporal.PlainDate()Calendar date only (2026-05-21)
Temporal.PlainTime()Time of day only (14:30:00)
Temporal.PlainDateTime()Full date and time (2026-01-24 14:30:00)
Temporal.PlainYearMonth()Year and month only (2026-05)
Temporal.PlainMonthDay()Month and day only (05-01)

Temporal.Now

The Temporal.Now object has methods for getting the current time in various formats.

Use the Temporal.Now.zonedDateTimeISO() method for current system time:

Example

const now = Temporal.Now.zonedDateTimeISO();
Try it Yourself »

Use the Temporal.Now.plainDateISO() method for calender date only:

Example

const today = Temporal.Now.plainDateISO();
Try it Yourself »

Temporal.ZonedDateTime

A Temporal.ZonedDateTime is a timezone and calendar-aware date/time object that represents a real time event from the perspective of a particular region on Earth.

Example: December 7th, 1995 at 3:24 AM in US Pacific time (in Gregorian calendar).

Example

const zonedDate = Temporal.ZonedDateTime.from({
  timeZone: 'America/Los_Angeles',
  year: 1995,
  month: 12,
  day: 7,
  hour: 3,
  minute: 24,
  second: 30,
  millisecond: 0,
  microsecond: 3,
  nanosecond: 500
});
Try it Yourself »

The Temporal.ZonedDateTime object is optimized for cases that require a time zone, DST-safe arithmetic and interoperability with an RFC 5545 calendar.


The Temporal.Instant Object

Temporal.Instant is a JavaScript object representing a single point in time.

Temporal.Instant has no time zone or calendar.

Temporal.Instant stores a count of nanoseconds since the Unix epoch: January 1, 1970 00.00.

Note

Nanosecond precision is 1000 times higher than the millisecond precision of the old Date object.

Creating an Instant:

FromCode
StringTemporal.Instant.from('1969-07-20T20:17:00Z')
Current timeTemporal.Now.instant()
Epoch millisecTemporal.Instant.fromEpochMilliseconds()
Epoch nanosecTemporal.Instant.fromEpochNanoseconds()

Arithmetic and Comparison:

MethodDescription
add() Adds a duration (hours, minutes, seconds) to an instant
subtract() Subtracts duration (hours, minutes, seconds) to an instant
compare() Returns -1 if the first date is earlier, 1 if later and 0 if equal
equals()

The Temporal.Instant.from() Method

Example

let instant = Temporal.Instant.from("2026-05-01T12:00:00Z");
Try it Yourself »

To get human-readable components like year, month, or hour, you must explicitly convert it to a Temporal.ZonedDateTime using a specific time zone.


Temporal Plain Objects

ObjectDescription
Temporal.PlainDateCalendar date only (2026-05-21)
Temporal.PlainTimeTime of day only (14:30:00)
Temporal.PlainMonthDayMonth and day only (05-01)
Temporal.PlainYearMonthYear and month only (2026-05)

The Temporal.PlainDate Object

The Temporal.PlainDate object represents a calendar date (year, month, and day) without a specific time zone, typically in ISO 8601 format ("2026-05-01").

It is used for dates that remain the same regardless of time zone, such as birthdays or holidays.


Temporal.PlainDate Properties

The Temporal.PlainDate object has 16 properties of calendar date information.

Example

const time = new Temporal.PlainDate(2026, 5, 17);
Try it Yourself »

The Temporal.PlainYearMonth Object

The Temporal.PlainYearMonth has 10 properties of calendar date information.

PropertyDescription
calendarIDCalendar system identifier ("iso8601")
daysInMonthThe total number of days in that month
daysInYearThe total number of days in that year
eraThe era name of the calendar, if applicable ("gregory")
eraYearThe year within the era, if applicable
inLeapYearA boolean indicating if the date falls in a leap year
monthThe month as an integer (1-12)
monthCodeA calendar-specific string code for the month ("M01")
monthsInYearThe total number of months in that year
yearThe year as an integer

Example

const date = new Temporal.PlainYearMonth(2026,5);
Try it Yourself »

The Temporal.PlainMonthDay Object

The Temporal.PlainMonthDay has 3 properties of calendar date information.

PropertyDescription
calendarIDCalendar system identifier ("iso8601")
dayThe day as an integer (1-31)
monthCodeA calendar-specific string code for the month ("M01")

Example

const date = new Temporal.PlainMonthDay(5, 17);
Try it Yourself »

Note

The Temporal.PlainMonthDay object does not have a month property.



The Temporal.PlainTime Object

The Temporal PlainTime object is a time object with no date.

It represents an ISO 8601 wall-clock time without a date or time zone.

Example: 14:30:00.

Example

const date = new Temporal.PlainTime(14, 30);
Try it Yourself »

Temporal.PlainTime Properties

The Temporal.PlainTime object has 6 properties of time information.

Example

const date = new Temporal.PlainTime(14, 30);
Try it Yourself »

The Temporal.PlainDateTime Object

The PlainDateTime() objects ios a temporal date and time object.

It represents a calendar date and a wall-clock time with no time zone.

Example: 2026-05-07T14:30:00.

Example

const date = new Temporal.PlainDateTime(2026, 5, 17, 14, 30);
Try it Yourself »

Note

A PlainDateTime is essentially the combination of a Temporal.PlainDate() and a Temporal.PlainTime().


Temporal.PlainDateTime Methods

MethodDescription
from()Returns a new PlainDateTime object from another object or a string
toPlainDate()Returns a new PlainDate object
toPlainTime()Returns a new PlainTime object
toZonedDateTime()Returns a new ZonedDatetime object
with()Returns a new PlainDateTime with specified fields modified
withCalendar()Returns a new PlainDateTime with a different calendar system
withPlainTime()Returns a new PlainDateTime the time part replaced by a new time
Arithmetic
add()Returns a new PlainDateTime with a duration added
subtract()Returns a new PlainDateTime with a duration subtracted
round()Returns a new PlainDateTime rounded to a given unit
Comparison
compare()Returns -1, 0, or 1 from comparing two dates
equals()Returns true if two PlainDateTime objects are identical
since()Returns the difference from another date
until()Returns the difference until another date
Formatting
toString()Returns an ISO 8601 string representation
toJSON()Returns an ISO 8601 string for JSON serialization
toLocaleString()Returns a language-sensitive representation of the date
valueOf()Throws a TypeError (prevents temporals from being converted to primitives)

Temporal.PlainDateTime Properties

The Temporal.PlainDateTime object has 22 properties of calendar date information.

Example

const date = new Temporal.PlainDateTime(2026, 5, 1, 14, 30);
Try it Yourself »
PropertyDescription
calendarIDCalendar system identifier ("iso8601")
dayThe day as an integer (1-31)
dayOfWeekThe day of the week as an integer (1 = Monday)
dayOfYearThe ordinal day of the year
daysInMonthThe total number of days in that month
daysInWeekThe total number of days in that week
daysInYearThe total number of days in that year
eraThe era name of the calendar, if applicable ("gregory")
eraYearThe year within the era, if applicable
hourThe hour as an integer (0-23
inLeapYearA boolean indicating if the date falls in a leap year
microsecondThe microsecond as an integer (0-999)
millisecondThe millisecond as an integer (0-999)
minuteThe minute as an integer (0-59)
monthThe month as an integer (1-12)
monthCodeA calendar-specific string code for the month ("M01")
monthsInYearThe total number of months in that year
nanosecondThe nanosecond as an integer (0-999)
secondThe second as an integer (0-59)
weekOfYearThe week number within the year
yearThe year as an integer
yearOfWeekThe year that the week belongs to

Temporal.Duration Properties

The Temporal.Duration object has 12 properties of time information.

Example

const duration = new Temporal.Duration(0, 0, 0, 7, 2, 0);
Try it Yourself »

Temporal Arithmetic

MethodReturns
temporal.add() New temporal representing a date moved forward by a duration
temporal.subtract() New temporal representing a date moved backward by a duration
temporal.round() New temporal rounded down to specified unit

Temporal Comparison

MethodDescription
temporal.compare() Static method useful for sorting arrays of dates (returns -1, 0, or 1)
temporal.equals() Returns true if two dates (and their calendars) are identical
temporal.since() The duration between two temporal objects
temporal.until() The duration between two temporal objects

Browser Support

Temporal is a major update to the JavaScript standard (TC39).

It is currently fully supported in Chrome, Edge, and Firefox, and is expected to reach full availability across browsers throughout 2026.

Chrome
144
Edge
144
Firefox
139
Safari
Opera
Jan 2026 Jan 2026 May 2025 🚫 🚫

Opera Support

Opera support will probably appear 1-3 browser cycles after Chromium, which often means a few months later.

Safari Support

As of March 2026, Safari has not yet announced a confirmed release date for stable support of the JavaScript Temporal API.

However, the implementation is actively in development and can be tested today in Safari Technology Preview by enabling the --use-temporal runtime flag.


Polyfill

Until Opera and Safari supports Temporal natively, use the official polyfill.

This Polyfill allows Temporal code to run in all browsers today:

Example

<script
src="https://cdn.jsdelivr.net/npm/@js-temporal/polyfill/dist/index.umd.js">
</script>

<script>
// Now you can use Temporal
const today = Temporal.Now.plainDateISO();
</script>


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
sales@w3schools.com

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
help@w3schools.com

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookies and privacy policy.

Copyright 1999-2026 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.

-->