2012-09-13 17 views
5

come si formatta una data javascript come il formato ISO, ma in ora locale?Formato data JavaScript come ISO ma locale

con myDate.toISOString() Sto ottenendo il tempo come: "2012-09-13T19: 12: 23.826Z"

ma qui, è 22:13, così come faccio a includere il fuso orario in formato di cui sopra?


ho finito per fare ...

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) 

risposta

3

per quanto ne so non è possibile formattare le date in JavaScript (senza utilizzare librerie esterne). Il meglio che puoi fare è "formattarlo da solo". Voglio dire:

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


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

Ma ci sono alcune buone librerie che ti permetteranno di formattare le date! (Leggi "formato" come in library.getDate("YYYY-MM-DD.........");)

EDIT:

Moment.js sembra la cosa che stai cercando: http://momentjs.com/

+0

e il mese restituito da '.getMonth()' SI non imbottito, quindi suppongo che mi servirebbe una libreria per riempirla anch'essa - sembra un sacco di gente! –

+0

Sì, davvero. È un sacco di lavoro, per questo consiglio di utilizzare Moment.js o qualche altra libreria. – alexandernst

Problemi correlati