2012-09-13 39 views
5

如何格式化javascript日期,如ISO格式,但在当地时间?Javascript日期格式,如ISO但本地

myDate.toISOString()我收到时间:“2012-09-13T19:12:23.826Z”

但在这里,它是22:13,所以我怎么包括上述格式的时区?


我落得这样做......

pad=function(e,t,n){n=n||"0",t=t||2;while((""+e).length<t)e=n+e;return e} 
c = new Date() 
c.getFullYear()+"-"+pad(c.getMonth()+1)+"-"+pad(c.getDate()-5)+"T"+c.toLocaleTimeString().replace(/\D/g,':')+"."+pad(c.getMilliseconds(),3) 

回答

3

AFAIK你不能格式的日期在JavaScript(不使用外部库)。你能做的最好的就是“自己格式化”。我的意思是:

var date = new Date(); 
var year = date.getFullYear(); 
var month = date...... 


var ISOdate = year + "-" + month + "-" + .... ; 

但是有一些很好的库可以让你格式化日期! (读 “格式” 作为library.getDate("YYYY-MM-DD.........");

编辑:

Moment.js好像你正在寻找的东西:http://momentjs.com/

+0

通过'.getMonth回来了一个月()'SI不填充,所以我想我需要一个图书馆来填充它 - 看起来好像很多! –

+0

是的,确实如此。这是很多工作,这就是为什么我会推荐使用Moment.js或其他库。 – alexandernst