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 TOOLS

Basic JavaScript

JS Tutorial JS Introduction JS Where To JS Output

JS Syntax

JS Syntax JS Statements JS Comments JS Variables JS Let JS Const JS Types

JS Operators

JS Operators

JS If Else

JS If Conditions

JS Loops

JS Loops

JS Strings

JS Strings

JS Numbers

JS Numbers

JS Functions

JS Functions

JS Objects

JS Objects

JS Scope

JS Scope

JS Dates

JS Dates

JS Temporal

JS Temporal  New

JS Arrays

JS Arrays

JS Sets

JS Sets

JS Maps

JS Maps

JS Iterations

JS Loops

JS Math

JS Math

JS RegExp

JS RegExp

JS DataTypes

JS Data Types

JS Errors

JS Errors

JS Debugging

JS Debugging

JS Conventions

JS Style Guide

JS Reference

JS Statements

JS Projects

JS Projects New

JS Versions

JS 2026

JS HTML

JS HTML DOM JS Events

JS Advanced

JS Functions JS Objects JS Classes JS Asynchronous JS Modules JS Meta & Proxy JS Typed Arrays JS DOM Navigation JS Windows JS Web APIs JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Reference


JavaScript Temporal Instant

The Temporal.Instant Object

The Temporal.Instant object represents an exact moment in UTC time.

It has NO time zone or calendar.

It stores nanoseconds since January 1, 1970 00:00:00. (the Unix epoch).

What is Instant Time?

Instant time is:

  • A precise point in time
  • Measured in UTC
  • The same moment everywhere on earth

Instant Time (in JavaScript Temporal) means:

An exact moment on the global timeline, independent of time zones.

Example

const instant = Temporal.Instant.from("2026-05-17T14:30:00Z");
Try it Yourself »

The above example represents:

Exactly May 17, 2026 at 14:30 at Greenwich in London.


What is UTC Time?

UTC stands for Universal Time Coordinated.

UTC time is:

  • The exact time in Greenwich (London)
  • The same everywhere on earth
  • Not affected by time zones
  • Not affected by DST (Daylight Saving Time)

Example

London (UTC):     12:00
Oslo (UTC+2):     14:00
New York (UTC-4): 08:00
Tokyo (UTC+9):    21:00

Different locations show different local times.

But all represent the same Instant in UTC time.


Creating an Instant

An Instant can be created in several different ways:

FromCode
With Constructornew Temporal.Instant()
From StringTemporal.Instant.from("2026-05-17T14:30:00Z')
From Epoch millisecTemporal.Instant.fromEpochMilliseconds()
From Epoch nanosecTemporal.Instant.fromEpochNanoseconds()
From Current TimeTemporal.Now.instant()

Create an Instant from new

You can create an Instant using the new Temporal.Instant() constructor.

Example

const instant = new Temporal.Instant(1779028200000000000n);
Try it Yourself »

The n at the end means BigInt.


Create an Instant from a String

You can create an Instant from an RFC 9557 string.

Example

const instant = Temporal.Instant.from("2026-05-17T14:30:00Z");
Try it Yourself »

The Z at the end means UTC time.


Create an Instant from Epoch Milliseconds

You can create an Instant from a Unix timestamp (milliseconds since 1970-01-01).

Example

const instant = Temporal.Instant.fromEpochMilliseconds(1779028200000);
Try it Yourself »

This is similar to how JavaScript Date works internally.


Create an Instant from Epoch Nanoseconds

You can create an Instant from a Unix timestamp (nanoseconds since 1970-01-01).

Example

const instant = Temporal.Instant.fromEpochNanoseconds(1779028200000000000n);
Try it Yourself »

Create an Instant from Current Time

JavaScript Temporal.Instant does not have any method for creating an instant from current time.

You must use a Temporal.Now method instead.

The Temporal.Now.instant() method returns an Temporal.Instant object with the exact current time.

Example

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

HowTo Replace Date.now()

With Date, you use Date.now() to get the current timestamp.

The Date.now() method returns the timestamp value in milliseconds:

Example

let timestamp = Date.now();
Try it Yourself »

With Temporal, you use Temporal.Now.instant():

The property epochMilliseconds returns the timestamp value in milliseconds:

Example

const instant = Temporal.Now.instant();

let timestamp = instant.epochMilliseconds;
Try it Yourself »

The property epochNanoseconds returns the timestamp value in nanoseconds:

Example

const instant = Temporal.Now.instant();

let timestamp = instant.epochNanoseconds;
Try it Yourself »

Nanosecond precision is 1,000,000 (one million) times higher than millisecond precision.


Convert Instant Time to Local Time

A Temporal.Instant does not include time zone information.

You must convert it to a Temporal.ZonedDateTime to display local time.

toZonedDateTimeISO converts a UTC moment to a specific time zone:

Example

const instant = Temporal.Instant.from("2026-05-17T14:30:00Z");

const zoned = instant.toZonedDateTimeISO("Europe/Oslo");
Try it Yourself »

Instant = "What time is it globally?"

ZonedDateTime = "What time is it here?"


UTC vs Local Time

UTC is a global clock.

Time zone is the local view of the same clock.

TypeDescription
UTCSame worldwide
Local TimeDepends on Location

UTC (Coordinated Universal Time) is the standard time used worldwide.

It is not affected by any time zones or daylight saving time.


Why UTC is Important

UTC is used as a reference time:

  • Servers and databases store time in UTC
  • Logs use UTC timestmps to avoid ime confusion
  • Most APIs use UTC timestamps

When to Use Temporal.Instant

Use Temporal.Instant for:

  • Timestamps
  • Databases
  • Logs
  • Event tracking
  • Comparing moments

Use Instant for an exact moment in UTC time, not what it is in another time zone.


Compare with Other Types

TypeMeaning
InstantExact Moment (UTC)
PlainDateTimeLocal Date and Time (No Timezone)
ZonedDateTimeLocal Date and Time + Time Zone

Temporal.Instant Methods

Constructing
newCreates a new Temporal.Instant object
from()Creates a new Instant object from another instant or a string
fromEpochMilliseconds()Returns a new Instant object from a number of milliseconds
fromEpochNanoseconds()Returns a new Instant object from a number of nanoseconds
Arithmetic
add()Returns a new Instant with a duration added
round()Returns a new Instant with this instant rounded
subtract()Returns a new Instant with a duration subtracted
Comparing
compare()Returns -1, 0, or 1 from comparing two instants
equals()Returns true if two instants are identical
since()Returns the duration since another date
until()Returns the duration until another date
Converting
toZonedDateTimeISO()Returns a new ZonedDatetime object
Formatting
toJSON()Returns an RFC 9557 format string for JSON serialization
toLocaleString()Returns a language-sensitive representation of the instant
toString()Returns an RFC 9557 format string representation of the instant
valueOf()Throws a TypeError (Instants should not be converted to a primitives)


×

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.

-->