2012-05-17 42 views
27

Possible Duplicate:
Formatting a date in javascriptCome formattare una data in gg/mm/aaaa HH: mm: formato ss in JavaScript?

so altri formati possibili in JavaScript Data oggetto, ma non ho avuto su come formattare la data in formato MM/dd/yyyy HH:mm:ss.

Per favore fatemi sapere se vi imbattete in tale problema.

+0

Tutti i metodi ci sono sull'oggetto data. Che cosa hai provato? – Corbin

+0

Ciao Corbin, ho provato con alcuni formati predefiniti ma non ho ottenuto un formato predefinito per MM/gg/aaaa HH: mm: ss – Gendaful

risposta

76

provare qualcosa di simile

var d = new Date, 
    dformat = [d.getMonth()+1, 
       d.getDate(), 
       d.getFullYear()].join('/')+' '+ 
       [d.getHours(), 
       d.getMinutes(), 
       d.getSeconds()].join(':'); 

se si vuole zero di per i valori < 10, utilizzare questo numero di interno

Number.prototype.padLeft = function(base,chr){ 
    var len = (String(base || 10).length - String(this).length)+1; 
    return len > 0? new Array(len).join(chr || '0')+this : this; 
} 
// usage 
//=> 3..padLeft() => '03' 
//=> 3..padLeft(100,'-') => '--3' 

Applicato al codice precedente:

var d = new Date, 
    dformat = [(d.getMonth()+1).padLeft(), 
       d.getDate().padLeft(), 
       d.getFullYear()].join('/') +' ' + 
       [d.getHours().padLeft(), 
       d.getMinutes().padLeft(), 
       d.getSeconds().padLeft()].join(':'); 
//=> dformat => '05/17/2012 10:52:21' 

See questo codice in jsfiddle

See also

+0

Grazie Kooilnc, ho provato var d = new Date(); var dformat = [d.getMonth(). Join ('/') + d.getDate(). Join ('/') + d.getFullYear()]. ​​Join ('/') + '' + d. getHours() join (':') + d.getMinutes() join (':').. + d.getSeconds()]; ma sto ottenendo "Uncaught SyntaxError: Unexpected token]". Conosci la ragione? Grazie per l'aiuto – Gendaful

+0

Il tuo codice è completamente sbagliato (non puoi usare 'd.getMonth(). Join ('/')'). Prova a copiare/eseguire il codice che ho dato nella mia risposta * senza cambiarlo *. Ho aggiunto un collegamento jsfiddle per te – KooiInc

+1

Il tuo esempio non è corretto. Sta chiedendo MM/dd e hai fornito il formato dd/MM (stile europeo). –

2
var d = new Date(); 

var curr_date = d.getDate(); 

var curr_month = d.getMonth(); 

var curr_year = d.getFullYear(); 

document.write(curr_date + "-" + curr_month + "-" + curr_year); 

utilizzare questo è possibile formattare la data.

è possibile modificare l'aspetto nel modo desiderato quindi

per maggiori informazioni si può visitare here

3
 

var d = new Date(); 

// calling the function 
formatDate(d,4); 


function formatDate(dateObj,format) 
{ 
    var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 
    var curr_date = dateObj.getDate(); 
    var curr_month = dateObj.getMonth(); 
    curr_month = curr_month + 1; 
    var curr_year = dateObj.getFullYear(); 
    var curr_min = dateObj.getMinutes(); 
    var curr_hr= dateObj.getHours(); 
    var curr_sc= dateObj.getSeconds(); 
    if(curr_month.toString().length == 1) 
    curr_month = '0' + curr_month;  
    if(curr_date.toString().length == 1) 
    curr_date = '0' + curr_date; 
    if(curr_hr.toString().length == 1) 
    curr_hr = '0' + curr_hr; 
    if(curr_min.toString().length == 1) 
    curr_min = '0' + curr_min; 

    if(format ==1)//dd-mm-yyyy 
    { 
     return curr_date + "-"+curr_month+ "-"+curr_year;  
    } 
    else if(format ==2)//yyyy-mm-dd 
    { 
     return curr_year + "-"+curr_month+ "-"+curr_date;  
    } 
    else if(format ==3)//dd/mm/yyyy 
    { 
     return curr_date + "/"+curr_month+ "/"+curr_year;  
    } 
    else if(format ==4)// MM/dd/yyyy HH:mm:ss 
    { 
     return curr_month+"/"+curr_date +"/"+curr_year+ " "+curr_hr+":"+curr_min+":"+curr_sc;  
    } 
} 

+6

-1, codice di codifica molto brutto qui – KooiInc

30
var d = new Date(); 
alert(
    ("00" + (d.getMonth() + 1)).slice(-2) + "/" + 
    ("00" + d.getDate()).slice(-2) + "/" + 
    d.getFullYear() + " " + 
    ("00" + d.getHours()).slice(-2) + ":" + 
    ("00" + d.getMinutes()).slice(-2) + ":" + 
    ("00" + d.getSeconds()).slice(-2) 
); 
+1

Dovrebbe essere utilizzato getDate() per la data. Impossibile modificare perché SO desidera più di 6 caratteri modificati ... sigh. – Llyle

Problemi correlati