Skip to content
Switch branches/tags
Go to file


Failed to load latest commit information.
Latest commit message
Commit time

Immutable date and time library for JavaScript

Tested node version lerna Build Status Sauce Test Status Coverage Status

Sauce Test Status


js-joda is an immutable date and time library for JavaScript. It provides a simple, domain-driven and clean API based on the ISO8601 calendar.

  • js-joda supports ECMAScript 5 browsers down to IE9.

  • js-joda is a port of the ThreeTen backport, which is the base for JSR-310 implementation of the Java SE 8 java.time package. Threeten is inspired by Joda-Time, having similar concepts and the same author.

  • js-joda is robust and stable. We ported more then 1700 test-cases with a lots of test-permutations from the ThreeTen Backport project. We run the automated karma test-suite against Firefox, Chrome, Node and phantomjs.

js-joda packages

js-joda consist of four packages:

package name description path
@js-joda/core Implementation of the ThreeTen Classes and API /packages/core
@js-joda/timezone Implementation of timezone calculation based on the iana Time Zone Database /packages/timezone
@js-joda/locale Implementation of locale specific functionality for js-joda, especially for formatting and parsing locale specific dates /packages/locale
@js-joda/extra Implementation of the ThreeTen-Extra Classes and API /packages/extra

The @js-joda/examples package is for testing the different build artifacts in different context, like webpack, browser node, etc.

js-joda is now a mono repo

We moved all js-joda libraries into this repository as a monorepo and put all js-joda npm modules under the @js-joda scope.

The previous repositories for the packages js-joda-timezone, js-joda-locale and js-joda-extra are deprecated.

The last version of previous packages and the equivalent new scoped package versions are as follows:

last version of previous package equivalent new scoped package
js-joda@1.11.0 @js-joda/core@1.11.0
js-joda-timezone@2.0.2 @js-joda/timezone@2.0.2
@js-joda/locale@2.0.1+34.0.0 @js-joda/locale@3.0.0+34.0.0
js-joda-extra@0.2.2 @js-joda/extra@0.2.2