2011-11-15 16 views
0

私はJSとADOを使用してDBから日付のリストを取得し、私は次のコードで表でそれを示しています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