Best JavaScript Date Parser & Formatter?

JavascriptJqueryDatetimeParsingFormatting

Javascript Problem Overview


Since I've started to use jQuery, I have been doing a lot more JavaScript development.

I have the need to parse different date formats and then to display them into another format.

Do you know of any good tool to do this?

Which one would you recommend?

Javascript Solutions


Solution 1 - Javascript

2014 update: Moment.js is an excellent date manipulation library, which includes parsing functions. It doesn't include automatic date format detection, but you can specify multiple parsing patterns.

Do you know the format of the dates before hand though, or are they user input?


A deprecated library for parsing dates is Datejs. It hasn't been updated since 2007.

Solution 2 - Javascript

If you already use jqueryUI on the page, than $.datepicker has parseDate() and formatDate() functions that enough in most cases. As for DateJS - profile yu code and you'll see how it baggy and how much time it spends in handling exception

Solution 3 - Javascript

I've found the jQuery Globalization Plugin date parsing to work best. Other methods had cross-browser issues and stuff like date.js had not been updated in quite a while.

You also don't need a datePicker on the page. You can just call something similar to the example given in the docs:

$.parseDate('yy-mm-dd', '2007-01-26');

Solution 4 - Javascript

Just another option (which I wrote - full disclosure):

DP_DateExtensions Library

Supports date/time formatting, date math (add/subtract date parts), date compare, date parsing, etc. It's liberally open sourced.

I really like Date.js but find some of the syntax cumbersome. Most of the functions in mine are based (at least in part) on the rich set of functions in CFML - some people may find it a bit more comfortable.

No reason to consider it if you're already using a framework (they're all capable), but if you just need to quickly add date manipulation to a project give it a chance.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionElijah ManorView Question on Stackoverflow
Solution 1 - JavascriptCraigView Answer on Stackoverflow
Solution 2 - Javascriptuser545829View Answer on Stackoverflow
Solution 3 - JavascriptBrian EllisView Answer on Stackoverflow
Solution 4 - JavascriptJim DavisView Answer on Stackoverflow