2012-05-17 10 views
27

Possible Duplicate:
Formatting a date in javascriptJak sformatować datę w formacie MM/dd/rrrr GG: mm: ss w JavaScript?

znam innych możliwych formatów w JavaScript obiektu Date, ale nie dostać się na jak sformatować datę w formacie MM/dd/yyyy HH:mm:ss.

Proszę dać mi znać, jeśli napotkasz taki problem.

+0

Wszystkie metody są tam na obiekt data. Co próbujesz? – Corbin

+0

Cześć Corbin, próbowałem z niektórymi predefiniowanymi formatami, ale nie dostałem wcześniej zdefiniowanego formatu dla MM/dd/rrrr HH: mm: ss – Gendaful

Odpowiedz

76

Spróbuj coś takiego

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

Jeśli chcesz zera dla wartości < 10, należy użyć tego numeru wewnętrznego

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' 

stosowane do poprzedniego kodu:

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' 

Apostolskiej ten kod w jsfiddle

See also

+0

Dzięki Kooilnc, próbowałem var d = new Date(); var dformat = [d.getMonth() .łącz ('/') + d.getDate(). Join ('/') + d.getFullYear()] .łącz ('/') + '' + d. getHours(). join (':') + d.getMinutes(). join (':') + d.getSeconds()]; ale otrzymuję "Uncaught SyntaxError: nieoczekiwany token]". Czy znasz przyczynę? Dzięki za pomoc – Gendaful

+0

Twój kod jest całkowicie błędny (nie możesz użyć 'd.getMonth(). Join ('/')'). Spróbuj skopiować/uruchomić kod podany w odpowiedzi * bez zmiany *. Dodałem do ciebie link jsfiddle – KooiInc

+1

Twój przykład jest niepoprawny. Pyta o MM/dd, a dostarczyłeś format dd/MM (styl europejski). –

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); 

pomocą tego można sformatować datę.

można zmienić wygląd w sposób chcesz potem

uzyskać więcej informacji można znaleźć 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, naprawdę złe kodowanie tutaj – 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

Powinien używać getDate() dla daty. Nie można edytować, ponieważ SO chce więcej niż 6 znaków edytowanych ... westchnienie. – Llyle

Powiązane problemy