Date.js My New Favorite Javascript Date Library
June 19th, 2010Earlier this week, I discovered that Safari doesn’t support dates in ISO 8601 UTC combined format: “2010-06-19T03:11Z”. This was a problem as my production system was delivering me a json file with dates in this format and my project was simply a new UI for the existing server. A quick round of googling found DateJS a powerful chainable Date extension that enables both unified parsing and mask based date rendering. I’d only played with it for a few minutes before I was completely hooked on it. Just look at what it can do.
1: // What date is next thursday?
2: Date.today().next().thursday();
3:
4: // Add 3 days to Today
5: Date.today().add(3).days();
6:
7: // Is today Friday?
8: Date.today().is().friday();
9:
10: // Number fun
11: (3).days().ago();
12:
13: // 6 months from now
14: var n = 6;
15: n.months().fromNow();
16:
17: // Set to 8:30 AM on the 15th day of the month
18: Date.today().set({ day: 15, hour: 8, minute: 30 });
19:
20: // Convert text into Date
21: Date.parse('today');
22: Date.parse('t + 5 d'); // today + 5 days
23: Date.parse('next thursday');
24: Date.parse('February 20th 1973');
25: Date.parse('Thu, 1 July 2004 22:30:00');
And Yes It supports ISO 8601 UTC combined format!.
A quick replacement of my existing date toolkit in the project and my bugs were fixed.




Helma is an impressive server side environment for deploying javascript based applications. Currently in version 1.6 it presents a powerful and useful way to construct web applications.
