new Date() function is very smart in accepting dates in several formats.
Xmas95 = new Date("25 Dec, 1995 23:15:00") Xmas95 = new Date("2009 06 12,12:52:39") Xmas95 = new Date("20 09 2006,12:52:39")
I could not find documentation anywhere showing all the valid string formats while calling
new Date() function.
Editor’s note: The following approach is the asker’s attempt that worked on a particular browser but does not work in general; see the answers on this page to see some actual solutions.
Today, I played with the
toString() method on the date object and surprisingly it serves the purpose of formatting date to strings.
var d1 = new Date(); d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Also here I couldn’t find any documentation on all the ways we can format the date object into a string.
Where is the documentation which lists the format specifiers supported by the
Basically, you have three methods and you have to combine the strings for yourself:
getDate() // Returns the date getMonth() // Returns the month getFullYear() // Returns the year
var d = new Date(); var curr_date = d.getDate(); var curr_month = d.getMonth() + 1; //Months are zero based var curr_year = d.getFullYear(); console.log(curr_date + "-" + curr_month + "-" + curr_year);
var a = moment([2010, 1, 14, 15, 25, 50, 125]); a.format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Sunday, February 14th 2010, 3:25:50 pm" a.format("ddd, hA"); // "Sun, 3PM"
(*) lightweight meaning 9.3KB minified + gzipped in the smallest possible setup (feb 2014)
If you are already using jQuery UI in your project, you can use the built-in datepicker method for formatting your date object:
$.datepicker.formatDate('yy-mm-dd', new Date(2007, 1 - 1, 26));
However, the datepicker only formats dates, and cannot format times.
Have a look at jQuery UI datepicker formatDate, the examples.