<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c" -->

---
title: Temporal: The 9-Year Journey to Fix Time in JavaScript
description: JavaScript's Date object, ported from Java in 1995, has caused bugs for three decades due to mutability, inconsistent month arithmetic, and ambiguous parsing....
canonical: https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Temporal: The 9-Year Journey to Fix Time in JavaScript | daily.dev
og:description: JavaScript's Date object, ported from Java in 1995, has caused bugs for three decades due to mutability, inconsistent month arithmetic, and ambiguous parsing....
og:url: https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c
og:image: https://api.daily.dev/og/posts/ti2WiLj4C.png
og:image:alt: Temporal: The 9-Year Journey to Fix Time in JavaScript
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Temporal: The 9-Year Journey to Fix Time in JavaScript

**[Hacker News](https://daily.dev/sources/hn)** · 18 min read · 1 upvotes · 0 comments

## Summary

JavaScript's Date object, ported from Java in 1995, has caused bugs for three decades due to mutability, inconsistent month arithmetic, and ambiguous parsing. After years of workarounds via libraries like Moment.js, the Temporal proposal reached TC39 Stage 4 and will be part of ES2026. Temporal introduces immutable datetime types (ZonedDateTime, Instant, PlainDate, PlainDateTime, etc.), first-class time zone and calendar support, and nanosecond precision. The 9-year effort involved Bloomberg, Igalia, Microsoft, Google, and Mozilla, and produced a shared Rust implementation library (temporal_rs) that passes 100% of the test suite and is used by multiple engines. Temporal is already available in Firefox v139, Chrome v144, Edge v144, and TypeScript 6.0 Beta.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://bloomberg.github.io/js-blog/post/temporal/>

## Similar posts on daily.dev

- [Date is out, Temporal is in](https://daily.dev/posts/date-is-out-temporal-is-in-rx3sgyn1u) · Piccalilli · 341 upvotes · 17 comments
- [Temporal: JavaScript Finally Fixes Dates](https://daily.dev/posts/temporal-javascript-finally-fixes-dates-mdmvokjs8) · iO tech\_hub · 60 upvotes · 5 comments
- [The Temporal API: JavaScript dates, finally fixed](https://daily.dev/posts/the-temporal-api-javascript-dates-finally-fixed-kinwyu0tx) · Flavio Copes · 2 upvotes · 0 comments
- [TC39 Advances Temporal to Stage 4 Alongside Several ECMAScri...](https://daily.dev/posts/tc39-advances-temporal-to-stage-4-alongside-several-ecmascri--wsjtjdml5) · Socket · 26 upvotes · 2 comments
- [Time is a construct but it can still break your software](https://daily.dev/posts/time-is-a-construct-but-it-can-still-break-your-software-bfsxtqo37) · Stack Overflow Blog · 2 upvotes · 0 comments

---

Tags: [#javascript](https://daily.dev/tags/javascript)

[View this post on daily.dev](https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Temporal: The 9-Year Journey to Fix Time in JavaScript","url":"https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c"},"datePublished":"2026-03-11T16:48:41.605Z","dateModified":"2026-03-11T16:49:09.649Z","description":"JavaScript's Date object, ported from Java in 1995, has caused bugs for three decades due to mutability, inconsistent month arithmetic, and ambiguous parsing....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6c57a01410e8b67d2e318b9e00e8e9a1?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/6c57a01410e8b67d2e318b9e00e8e9a1?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Hacker News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Hacker News","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn","url":"https://daily.dev/sources/hn"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/temporal-the-9-year-journey-to-fix-time-in-javascript-ti2wilj4c","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"javascript","timeRequired":"PT18M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Hacker News","item":"https://daily.dev/sources/hn"},{"@type":"ListItem","position":3,"name":"Temporal: The 9-Year Journey to Fix Time in JavaScript"}]}
```

