可能性の重複:
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;
}
http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript –
マット - ありがとうございました。私は答えの解決策をまとめることができました。私は解決策を使って質問を編集しました。 – user1107685
あなたの答えを質問の代わりに答えに入れてください。 – Alex