🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to JavaScript Notes
Topic #189

Temporal PlainTime

The PlainTime Object

The Temporal.PlainTime object is a time object without a date.

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

Example: 10:30:00.

It is useful for opening hours, alarms, and any time-only values.

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);

Create a PlainTime

You can create a PlainTime from a string.

Example

const time = Temporal.PlainTime.from("14:30");

You can also create a PlainTime using numeric values.

Example

const time = new Temporal.PlainTime(14, 30);

Note: The parameters are: hour, minute, second, millisecond, microsecond, nanosecond.


Get the Current Time

You can get the current local time using Temporal.Now.plainTimeISO().

Example

const now = Temporal.Now.plainTimeISO();

Get Time Parts

You can read the different parts of a PlainTime value.

Example

const time = Temporal.PlainTime.from("14:30:15.123");

Add and Subtract PlainTime

Use add() and subtract() to do PlainTime math.

PlainTime is immutable, so the original value is not changed.

Example

const time = Temporal.PlainTime.from("14:30");

const later = time.add({ minutes: 45 });

const earlier = time.subtract({ hours: 2 });

If the time passes midnight, it wraps around:

Example

const time = Temporal.PlainTime.from("23:30");

const result = time.add({ minutes: 90 });

Calculate PlainTime Differences

Use since() and until() to calculate PlainTime differences.

Both methods return a Temporal.Duration object.

Examples

// Create two PlainTime objects

const start = Temporal.PlainTime.from("09:00");

const end = Temporal.PlainTime.from("17:30");

// Calculate the difference

const diff = start.since(end);

JavaScript since() and until()

All temporal date objects have their own since() method:

  • plaindate.since(plaindate)
  • plaintime.since(plaintime)
  • plainyearmonth.since(plainyearmonth)
  • plainmonthday.since(plainmonthday)
  • plaindatetime.since(plaindatetime)
  • zoneddatetime.since(zoneddatetime)
  • instant.since(instant)

All temporal objects have their own until() method:

  • plaindate.until(plaindate)
  • plaintime.until(plaintime)
  • plainyearmonth.until(plainyearmonth)
  • plainmonthday.until(plainmonthday)
  • plaindatetime.until(plaindatetime)
  • zoneddatetime.until(zoneddatetime)
  • instant.until(instant)

Note: LearnMore: Temporal Since and Until Tutorial


The PlainTime compare() Method

Use Temporal.PlainTime.compare() to compare times.

Example

// Create two PlainTime objects

const a = Temporal.PlainTime.from("08:30");

const b = Temporal.PlainTime.from("14:30");

// Compare the two objects

result = Temporal.PlainTime.compare(a, b));

The result is:

  • -1 if the first time is earlier
  • 0 if they are equal
  • 1 if the first time is later

Note: Do not use =, <, or > when comparing temporal time.

All temporal objects have their own compare() method:

  • Temporal.Instant.compare(instant1, instant2)
  • Temporal.PlainDate.compare(plaindate1, plaindate2)
  • Temporal.PlainTime.compare(plaintime1, plaintime2)
  • Temporal.PlainYearMonth.compare(plainyearmonth1, plainyearmonth2)
  • Temporal.PlainMonthDay.compare(plainmonthday1 plainmonthday2)
  • Temporal.PlainDateTime.compare(plaindatetime1,plaindatetime2)
  • Temporal.ZonedDateTime.compare(zoneddtatime1, zoneddtatime2)
  • Temporal.Duration.compare(duration1, duration2)

Note: LearnMore: Temporal Compare Tutorial


The PlainTime equals() Method

Use equals() to check if two times are the same.

Example

// Create two PlainTime objects

const a = Temporal.PlainTime.from("14:30");

const b = Temporal.PlainTime.from("14:30");

// Compare the two objects

result = a.equals(b);

Most (*) temporal objects have their own equals() method:

  • instant.equals(instant)
  • plaindate.equals(plaindate)
  • plaintime.equals(plaintime)
  • plainyearmonth.equals(plainyearmonth)
  • plainmonthday.equals(plainmonthday)
  • plaindateTime.equals(plaindatetime)
  • zoneddateTime.equals(zoneddtatime)

(*) Duration has not.

Note: LearnMore: Temporal Equals Tutorial


When to Use PlainTime

  • Opening hours (for example: 09:00 to 17:00).
  • Alarm clock times.
  • Recurring daily schedules.
  • Time input fields (without date and time zone).

Note: If you need date, use PlainDateTime.


Temporal PlainTime Methods

Col 1 Col 2
Constructing Description
from() Creates a new PlainTime object from an object or a string
new Creates a new PlainTime object from integer parameters
Arithmetic
add() Returns a new PlainTime with a duration added
subtract() Returns a new PlainTime with a duration subtracted
round() Returns a new PlainTime rounded to a given unit
Comparing
compare() Returns -1, 0, or 1 from comparing two times
equals() Returns true if two PlainTime objects are identical
since() Returns the difference since another time
until() Returns the difference until another time
Modifying
with() Returns a new PlainTime with specified fields modified
Formatting
toJSON() Returns an RFC 9557 format string for JSON serialization
toLocaleString() Returns a language-sensitive representation of the time
toString() Returns an RFC 9557 format representation of the time
valueOf() Throws a TypeError Prevents temporals from being converted to primitives

Temporal.PlainTime Properties

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

Col 1 Col 2
Property Description
hour The hour as an integer (0-23)
microsecond The microsecond as an integer (0-999)
millisecond The millisecond as an integer (0-999)
minute The minute as an integer (0-59)
nanosecond The nanosecond as an integer (0-999)
second The second as an integer (0-59)

Display All Properties

const date = new Temporal.PlainTime(14, 30);

Want to go beyond the notes?

Join CodingNow 2.0's JavaScript course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

Temporal PlainTime – FAQs

Quick answers about learning Temporal PlainTime in JavaScript.

This free note from CodingNow 2.0 explains Temporal PlainTime in JavaScript — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every JavaScript topic on CodingNow 2.0, including Temporal PlainTime, is 100% free with no signup required.
With focused practice, most students grasp Temporal PlainTime in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now