Time is a construct but it can still break your software
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.
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.
Temporal is a new, built-in JavaScript API for handling dates and times with immutable, well-defined types like ZonedDateTime and Instant.
The legacy Date object is mutable and error-prone; Temporal fixes this by ensuring operations don’t alter the original object.
Temporal uses nanosecond precision and BigInts, making it immune to the 2038 problem and future-proof for long-term applications.
Despite being in stage four, Temporal still needs ecosystem-wide adoption—HTML, web APIs, and tooling must support it before full rollout.
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.
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.
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.
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.
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.
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.”
“You don't need to worry about calculating times between time zones. It handles all of that for you.”
“It spreads out into all these different areas and all these different standards bodies as well. Yeah, it can be a big proposal.”
“We shouldn't be impacted by the 2038 problem, we should be able to just carry on as normal.”
Host
Guest
Jason Williams
person
JavaScript
other
TC39
organization
Moment.js
product
Bloomberg
organization
BOA
product
V8
organization
Rust
other
2038 Problem
other
Firefox
organization
Seizing the means of messenger production
The Stack Overflow Podcast • 28m • 4/3/2026
He designed C++ to solve your code problems
The Stack Overflow Podcast • 33m • 4/7/2026
The messy truth of your AI strategies
The Stack Overflow Podcast • 31m • 4/10/2026
Who needs VCs when you have friends like these?
The Stack Overflow Podcast • 33m • 4/14/2026
No country left behind with sovereign AI
The Stack Overflow Podcast • 33m • 4/17/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.
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
