2012-09-05 39 views
21

可能重複:
Formatting a date in JavaScriptJavaScript Date.toString()格式?

我有以下一段腳本。這是一個帶日期範圍的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> 

編輯:謝謝你在正確的方向輕推,實際上這是不可能的日期。這可代替:

<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

如果有很多圖書館,那麼命名一些不應該傷害你... –