Подтвердить что ты не робот

Javascript Date.toString() форматирование?

Возможный дубликат:
Форматирование даты в JavaScript

У меня есть следующий фрагмент script. Это ползунок HTML5 с диапазоном дат. Ползунок использует временную метку unix, и я хочу отобразить текущий выбор в читаемом формате.

Это работает нормально, но выводится как "Wed May 16 2012 08:07:30 GMT + 0100 (GMT Daylight Time)", несмотря на то, что я указываю формат "yyyy-MM-dd HH: mm: ss".

Любые идеи, почему это не выводится в моем формате?

<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: Спасибо за подталкивание в правильном направлении, на самом деле это невозможно с помощью Date. Это работает вместо:

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

4b9b3361

Ответ 1

JavaScript Date объект не поддерживает это. Для этого вам понадобится множество библиотек.