2011-11-15 59 views
0

我使用JS和ADO一個數據庫中檢索日期的名單,我用下面的代碼顯示它在一個表:javascript日期格式

var detDate = new Date() ; 
     if(!rsDetail.bof) { 
     rsDetail.MoveFirst() 
     while(!rsDetail.eof) { 
      detDate = rsDetail.fields(2).value; 
      rsDetail.MoveNext() 
     } 
... TableHtml += '<td>' + detDate + '</td>' ... 

輸出看起來像這樣:週六10月15日00:00:00 EDT 2011
我希望它看起來像這樣:2011-10-15
我一直在環視JS日期對象,我試圖做formatDate(detDate,'y-mm-dd')但它不工作...

+0

1.正確的格式化字符串是''yyyy-mm-dd'' 2.您可以像這樣使用屬性:'var dateStr = detDate.Year +' - '+ detDate.Month。 ..'等(對不起,如果確切的語法是不正確的,即時通訊沒有經驗JS) – Rob

回答

1

您可以像這樣格式化您的日期對象:

function formatDate(dt) { 
    var pad = function(str, c, width) { 
     while (str.length < width) 
      str = c + str; 

     return str; 
    } 

    var dateString = dt.getFullYear() + "-" + pad((dt.getMonth() + 1).toString(), '0', 2) + "-" +pad(dt.getDate().toString(), '0', 2); 

    return dateString;  
} 

tableHTML += "<td>" + formatDate(debDate) + "</td>"; 
+0

你的意思是我會定義'var dateString'每次它通過循環? –

+0

不,你可以把這段代碼放在一個函數中,只有當你編譯你的表格html時才調用它 – Francis