2011-02-08 14 views
26

Voglio ottenere la data odierna nel formato gg-mm-aaaaJavascript ottenere data in formato

Sto usando var currentDate = new Date(); document.write(currentDate);

Non riesco a capire come formattarlo.

ho visto gli esempi var currentTime = new Date(YY, mm, dd); e currentTime.format("mm/dd/YY");

Entrambi i quali non funzionano

ho finalmente avuto una data correttamente formattata utilizzando

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1;//January is 0!` 

var yyyy = today.getFullYear(); 
if(dd<10){dd='0'+dd} 
if(mm<10){mm='0'+mm} 
var today = mm+'/'+dd+'/'+yyyy; 
document.write(today);'` 

Questo sembra molto complesso per un compito così semplice .

C'è un modo migliore per ottenere la data di oggi in dd/mm/yyyy?

+0

Lo farei manualmente 'var d = new Date(); \t \t \t \t var s = new String(); \t \t \t \t s = (d.getHours() + "-" + d.getMinutes() + "-" + d.getSeconds() + "" + d.getDate() + "-" + d.getMonth() + "-" + d.. GetFullYear()) toString(); '. Riferimento: http://www.w3schools.com/jsref/jsref_obj_date.asp – Nav

risposta

22

Purtroppo non c'è modo migliore, ma invece di reinventare la ruota, è possibile utilizzare una libreria a che fare con le date di analisi e di formattazione: Datejs

<plug class="shameless">

Oppure, se vi trovate in formato specifiche dell'avvio brutto e difficile da decifrare, here's a concise formatting implementation che consente di utilizzare identificatori di formato leggibile (vale a dire, the Date instance getters se stessi):

date.format("{Month:2}-{Date:2}-{FullYear}"); // mm-dd-yyyy 

</plug>

+0

Fantastico. Grazie! –

+0

Bella biblioteca, utile. –

3

La risposta semplice è no. Questo è l'unico modo per farlo che io conosca. Probabilmente è possibile eseguire il wrapping in una funzione che è possibile riutilizzare più volte.

+0

pensato che potrebbe essere il caso. Grazie amico –

1

date.js è quello che ti serve. Ad esempio, frammento di seguito è quello di convertire una data di stringa come stile Java

new Date().toString('M/d/yyyy') 
-2
function appendZeros(value,digits){ 
    var c= 1; 
    initValue = value; 
    for(i=0;i<digits-1;i++){ 
     c = c*10; 
     if(initValue < c){ 
      value = '0' + value; 
     } 
    } 
    return value; 
} 
2
function dateNow(splinter){ 
    var set = new Date(); 
    var getDate = set.getDate().toString(); 
    if (getDate.length == 1){ //example if 1 change to 01 
    getDate = "0"+getDate; 
    } 
    var getMonth = (set.getMonth()+1).toString(); 
    if (getMonth.length == 1){ 
    getMonth = "0"+getMonth; 
    } 
    var getYear = set.getFullYear().toString(); 
    var dateNow = getMonth +splinter+ getDate +splinter+ getYear; //today 
    return dateNow; 
} 

formato questa funzione è mm gg aaaa e la scelta si divide può e sostituire se vuoi ... per esempio datenow ("/") si otterrà 12/12/2014

11
var today = new Date(); 

var strDate = 'Y-m-d' 
    .replace('Y', today.getFullYear()) 
    .replace('m', today.getMonth()+1) 
    .replace('d', today.getDate()); 
+1

Molto bello e conciso ... – Eamorr

+0

Risposta intelligente +1 –

-1
(new Date()).format("MM-dd-yyyy") 

NB il mese è "MM" non "mm"

+0

La tua descrizione non è chiara. Inoltre, ci sono già molte risposte molto buone a questa domanda. La tua risposta fornisce qualcosa? Se è così, ti preghiamo di elaborare la tua risposta. – Suever