Time is a construct but it can still break your software

The Stack Overflow Podcast35mMay 1, 2026

Get the full intelligence

Search transcripts, export clips, track mentions, and explore all topics from “Time is a construct but it can still break your software” inside PodZeus.

AI-Generated Summary

In this episode of The Stack Overflow Podcast, host Ryan Donovan sits down with Jason Williams, senior software engineer at Bloomberg and TC39 delegate, to explore the long and complex journey of the Temporal API—a major overhaul of JavaScript's date and time handling. Williams traces the origins of JavaScript's date object back to its 10-day creation sprint by Brendan Eich, highlighting how its simplicity was never meant to handle modern enterprise needs like time zones, mutability issues, and nanosecond precision. The conversation dives into the flaws of the legacy Date object—particularly its mutability and confusing API—before discussing how libraries like Moment.js became essential but eventually bloated. Williams shares his role in championing Temporal, a new built-in API designed to fix these problems with immutable, well-defined types like ZonedDateTime, Instant, and PlainDateTime. The episode reveals why Temporal took nine years to reach stage four: massive API surface area, contentious design debates, extensive testing (4,500 tests), engine integration challenges, and even updates to ISO 8601 for serialization. Despite being implemented in V8 and Firefox, and in tech preview in Safari, full ecosystem adoption remains pending, requiring updates across HTML, web APIs, and developer tooling. Williams emphasizes that while the old Date object won't be deprecated, developers are encouraged to adopt Temporal for its correctness, clarity, and future-proofing—especially against issues like the 2038 problem, which Temporal avoids through 64-bit and BigInt usage. The episode closes with a shoutout to a Stack Overflow contributor and a reminder that better time handling is finally on the horizon.

Key Takeaways
1

Temporal is a new, built-in JavaScript API for handling dates and times with immutable, well-defined types like ZonedDateTime and Instant.

2

The legacy Date object is mutable and error-prone; Temporal fixes this by ensuring operations don’t alter the original object.

3

Temporal uses nanosecond precision and BigInts, making it immune to the 2038 problem and future-proof for long-term applications.

4

Despite being in stage four, Temporal still needs ecosystem-wide adoption—HTML, web APIs, and tooling must support it before full rollout.

5

The old Date object will not be deprecated due to massive existing usage, but developers are strongly encouraged to migrate to Temporal for correctness and clarity.

Chapters
0:00
2 min

Introducing the Temporal Revolution

Host Ryan Donovan introduces the episode’s focus: the Temporal API, a major overhaul of JavaScript’s date and time handling, and welcomes guest Jason Williams, a TC39 delegate and creator of the Rust-based JavaScript engine BOA.

2:00
3 min

The Flaws of JavaScript's Date Object

Williams explains the fundamental problems with JavaScript’s original Date object—mutability, vague method names, and lack of time zone support—highlighting how these issues became critical as web apps grew in complexity.

5:00
5 min

The Rise and Fall of Moment.js

The episode explores how Moment.js became the de facto standard for date handling, only to be burdened by bloat due to embedded locale and time zone data, prompting the need for a standardized, lightweight solution.

10:00
7 min

From BOA to TC39: Jason's Journey

Williams shares his path from contributing to Mozilla’s Servo project to becoming a TC39 champion for Temporal, detailing how his work on BOA and Promise.allSettled helped build credibility and momentum.

17:00
8 min

Why Temporal Took Nine Years

It spreads out into all these different areas and all these different standards bodies as well. Yeah, it can be a big proposal.

Highlight
High-Impact Quotes
You don't need to worry about calculating times between time zones. It handles all of that for you.
Jason Williams21:36
Viral: 90.0
It spreads out into all these different areas and all these different standards bodies as well. Yeah, it can be a big proposal.
Jason Williams19:23
Viral: 85.0
We shouldn't be impacted by the 2038 problem, we should be able to just carry on as normal.
Jason Williams27:45
Viral: 80.0
Speakers

Host

Ryan Donovan

Guest

Jason Williams
Topics Discussed
JavaScript Date Object Limitations95%Temporal API Design and Implementation90%Standardization and TC39 Process85%Time Zone and Daylight Savings Handling85%Legacy Libraries and Ecosystem Bloat80%Future-Proofing and 2038 Problem80%Backward Compatibility and Migration75%Web Ecosystem Integration70%
People & Brands

Jason Williams

person

25xPositive

JavaScript

other

18xPositive

TC39

organization

12xPositive

Moment.js

product

10xMixed

Bloomberg

organization

8xPositive

BOA

product

7xPositive

V8

organization

6xPositive

Rust

other

5xPositive

2038 Problem

other

5xNeutral

Firefox

organization

4xPositive

Get the full intelligence

Search transcripts, export clips, track mentions, and explore all topics from “Time is a construct but it can still break your software” inside PodZeus.

Start discovering podcast insights today

Start with a 7-day trial and explore a growing catalog of popular podcasts. No credit card required.

No credit card required • 7-day trial • Cancel anytime