2012-09-05 12 views
21

可能性の重複:
Formatting a date in JavaScriptJavascript Date.toString()の書式設定ですか?

Iスクリプトの以下の部分を持っています。これは、日付範囲を持つHTML5スライダーです。スライダはUNIXのタイムスタンプを使用しており、現在の選択肢を読みやすい形式で表示したいと考えています。

これは正常に動作していますが、「yyyy-MM-dd HH:mm:ss」という形式を指定しても「Wed May 16 2012 08:07:30 GMT + 0100(GMT Daylight Time)」と出力されています。

なぜ私の形式で出力されないのですか?

<input id="slider3" type="range" min="1337149800" max="1337160600" step="450" onchange="printValue('slider3','rangeValue3')"/> 
<input id="rangeValue3" type="text" size="90"/> 

<script> 
    function printValue(sliderID, textbox) { 
     var x = document.getElementById(textbox); 
     var y = document.getElementById(sliderID); 

     var d1=new Date(y.value*1000); 

     var newtimestamp = d1.toString("yyyy-MM-dd HH:mm:ss"); 

     x.value = newtimestamp; 
    } 
</script> 

EDIT:日付では不可能だった確かに正しい方向にナッジ、ありがとうございます。これは、代わりに動作します:

<input id="slider3" type="range" min="1337149800" max="1337160600" step="450" onchange="printValue('slider3','rangeValue3')"/> 
<input id="rangeValue3" type="text" size="90"/> 

<script> 
    function printValue(sliderID, textbox) { 
     var x = document.getElementById(textbox); 
     var y = document.getElementById(sliderID); 

     var d1=new Date(y.value*1000); 

     var curr_year = d1.getFullYear(); 

     var curr_month = d1.getMonth() + 1; //Months are zero based 
     if (curr_month < 10) 
      curr_month = "0" + curr_month; 

     var curr_date = d1.getDate(); 
     if (curr_date < 10) 
      curr_date = "0" + curr_date; 

     var curr_hour = d1.getHours(); 
     if (curr_hour < 10) 
      curr_hour = "0" + curr_hour; 

     var curr_min = d1.getMinutes(); 
     if (curr_min < 10) 
      curr_min = "0" + curr_min; 

     var curr_sec = d1.getSeconds();  
     if (curr_sec < 10) 
      curr_sec = "0" + curr_sec; 

     var newtimestamp = curr_year + "-" + curr_month + "-" + curr_date + " " + curr_hour + ":" + curr_min + ":" + curr_sec; 

     x.value = newtimestamp; 
    } 

+0

http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript –

+0

マット - ありがとうございました。私は答えの解決策をまとめることができました。私は解決策を使って質問を編集しました。 – user1107685

+0

あなたの答えを質問の代わりに答えに入れてください。 – Alex

答えて

7

のJavaScriptのDateオブジェクトはそれをサポートしていません。これを行うライブラリはたくさんあります。

+0

ありがとう - それを認識していない。私は解決策で私の質問を編集しました。 – user1107685

+8

@ user1107685質問内に回答を追加しないでください。代わりに自分の答えを追加してください。 – k0pernikus

+2

ライブラリがたくさんある場合、いくつかの名前を付けることであなたを傷つけることはないはずです... –