2012-05-17 63 views
27

Possible Duplicate:
Formatting a date in javascript如何在MM/dd/yyyy中格式化日期HH:mm:ss在JavaScript中的格式?

我知道在JavaScript Date對象其他可能的格式,但我並沒有關於如何將日期格式MM/dd/yyyy HH:mm:ss格式得到。

如果您遇到此類問題,請讓我知道。

+0

所有方法都是有日期的對象。你有什麼嘗試? – Corbin

+0

嗨Corbin,我嘗試了一些預定義的格式,但我沒有得到MM/dd/yyyy的預定義格式HH:mm:ss – Gendaful

回答

76

嘗試這樣的事情

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

如果你想前導零的值< 10,使用這個號碼擴展

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' 

適用於以前的代碼:

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' 

見此代碼在jsfiddle

使用這種

See also

+0

感謝Kooilnc,我試過var d = new Date(); var dformat = [d.getMonth()。join('/')+ d.getDate()。join('/')+ d.getFullYear()]。join('/')+''+ d。調用getHours()連接( ':')+ d.getMinutes()連接( ':')。+ d.getSeconds()];但我得到「未捕獲的SyntaxError:意外的令牌」)。你知道原因嗎?感謝您的幫助 – Gendaful

+0

您的代碼完全錯誤(您不能使用'd.getMonth()。join('/')')。嘗試複製/運行我在答案*中給出的代碼,而不更改它*。我爲您添加了一個jsfiddle鏈接 – KooiInc

+1

您的示例不正確。他要求MM/DD,並且您提供了格式dd/MM(歐洲風格)。 –

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

可以格式化日期。

你可以改變你想要然後

獲取更多信息的方式出現,您可以訪問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,這裏的代碼真的很糟糕 – 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

應該使用getDate()作爲日期。無法編輯,因爲SO想要編輯超過6個字符......感嘆。 – Llyle