DateJS extends the built-in JavaScript Date object to add much better parsing, internationalization support, and all the functions and syntactic sugar you could wish for.
Date JS was started by Geoffrey McGill in 2007, he abandoned it on May 13th 2008; leaving the Google Code repository stagnant and with many bugs unresolved.
This fork was started improve and maintain DateJS. To keep what is still the most full featured JavaScript Date library alive, maintained, and improved. Currently we're on track towards a 1.0 release - having fixed almost all the existing bugs and added several new features, improved parsing, and many other changes.
DateJS supports running either your regular web browser as a client library or Node.js.
Installation is as easy as running:
npm install datejs
To run just require('datejs')
and DateJS will extend the built in Date object like it does in the browser.
If you use Bower to manage your frontend packages then it's also really simple:
bower install datejs
Otherwise...
- For production environments include the production ready minified file from the Build directory on your page.
- For debugging (eg, in development) include the unminified and fully commented version
DateJS supports 157 different languages and dialects and ships with US English as the default. It is however easily changed and you can support languages on the fly or just a specific subset.
Just call the following:
Date.i18n.setLanguage([country code])
Where "country code" is the appropriate IETF code for the language (e.g. "de-DE", or "es-MX") and DateJS will import the correct strings for that language.
For browsers DateJS has langauge support in one of two ways:
- Set
Date.Config.i18n
to the location of the internationalization files on your server and DateJS will dynamically load the files by dynamic script element insertion. You can support all languages this way. - Or download the appropriate file from the Build directory of your choice. Files are named after the IETF code the load (i.e.
date-es-MX.js
loads Mexican Spanish). This static method will only allow you support of the selected language & US English.
DateJS +will always support loading US English_ via Date.i18n.setLanguage("en-US")
no matter what other language is specifically loaded. So you can always support both your localization and the English speaking world.
build/
Output from the Grunt powered build process- Non-minified files with full comments. Suitable for development environments.
production/
Fully minified (by Google's Closure Compiler) files suitable for production.
src
All the source files used to build the final files.core/
The main DateJS source files.i18n/
Internationalization files. Language specifics (days of the week, regex formats,etc). Organized by IETF language tag (eg - en-US, etc).
specs/
Unit Tests written using Jasmine. Code coverage is calculated by BlanketJS.reports/
Code coverage reports inlcov
andhtml
that are generated by Istanbultests/
Orginal unit tests for 2008 project. Deprecated