在jQuery中格式化日期

var date = "Fri Jan 29 2012 06:12:00 GMT+0100"; 

我怎么能以2012-01-29 06:12的格式显示这个? 在PHP中是函数 – >格式。 在Javascript也是格式,但如果我尝试使用这个,那么我有错误:

now.format不是一个函数

 var now = new Date(); console.log(now.format("isoDateTime")); 

http://jsfiddle.net/6v9hD/

我想收到格式: 2012-01-29 06:12

这个问题是重复的(请参阅: 如何在jquery中获取当前日期? )。

通过从另一个问题修改我的解决方案 ,我得到:

 var d = new Date(); var month = d.getMonth()+1; var day = d.getDate(); var hour = d.getHours(); var minute = d.getMinutes(); var second = d.getSeconds(); var output = d.getFullYear() + '-' + ((''+month).length<2 ? '0' : '') + month + '-' + ((''+day).length<2 ? '0' : '') + day + ' ' + ((''+hour).length<2 ? '0' :'') + hour + ':' + ((''+minute).length<2 ? '0' :'') + minute + ':' + ((''+second).length<2 ? '0' :'') + second; 

请参阅此jsfiddle以获取证据: http : //jsfiddle.net/nCE9u/3/

你也可以将它包含在函数中(演示在这里: http : //jsfiddle.net/nCE9u/4/ ):

 function getISODateTime(d){ // padding function var s = function(a,b){return(1e15+a+"").slice(-b)}; // default date parameter if (typeof d === 'undefined'){ d = new Date(); }; // return ISO datetime return d.getFullYear() + '-' + s(d.getMonth()+1,2) + '-' + s(d.getDate(),2) + ' ' + s(d.getHours(),2) + ':' + s(d.getMinutes(),2) + ':' + s(d.getSeconds(),2); } 

并使用它:

 getISODateTime(new Date()); 

要么:

 getISODateTime(some_other_date); 

编辑:我已经添加了一些改进function,如Ates Goral所提出的(也降低了它的可读性,支持代码注释)。

Datejs 。 toString (’yyyy-MM-dd HH:mm’)应该可以解决问题

不幸的是,在Javascript中,Date没有format()方法。

查看http://fisforformat.sourceforge.net了解一些不错的格式化方法。

使用类似Datejs的库或者这个推文大小的实现:

https://gist.github.com/1005948

 var str = formatDate( new Date(), "{FullYear}-{Month:2}-{Date:2} {Hours:2}:{Minutes:2}"); 

我想这可以帮到你: date.format.js

 var now = new Date(); now.format("m/dd/yy"); // Returns, eg, 6/09/07 // Can also be used as a standalone function dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT"); // Saturday, June 9th, 2007, 5:46:21 PM // You can use one of several named masks now.format("isoDateTime"); 

你可以使用这样的东西(包括date.js ):

 Date.parse(yourDate).toISOString(); 

所以日期将采用ISO 8601格式。