2012-09-05 41 views
21

thể trùng lặp:
Formatting a date in JavaScriptĐịnh dạng Javascript Date.toString()?

Tôi có mảnh sau trong script. Đó là thanh trượt HTML5 có phạm vi ngày. Thanh trượt đang sử dụng dấu thời gian unix và tôi muốn hiển thị lựa chọn hiện tại ở định dạng có thể đọc được.

Điều này hoạt động tốt nhưng xuất hiện là "ngày 16 tháng 5 năm 2012 08:07:30 GMT + 0100 (GMT Daylight Time)" mặc dù tôi chỉ định định dạng là "yyyy-MM-dd HH: mm: ss".

Bất kỳ ý tưởng nào tại sao nó không xuất ra ở định dạng của tôi?

<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: Cảm ơn bạn đã di chuyển đúng hướng, thực sự là không thể với Ngày. Này hoạt động thay vì: đối tượng

<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

Cảm ơn Mat - Tôi đã có thể đưa ra một giải pháp từ các câu trả lời trên đó. Tôi đã chỉnh sửa câu hỏi bằng một giải pháp. – user1107685

+0

Vui lòng đặt câu trả lời của bạn trong câu trả lời thay vì câu hỏi. – Alex

Trả lời

7

JavaScript của Date không hỗ trợ đó. Có rất nhiều thư viện để làm điều này cho bạn.

+0

Cảm ơn - đã không nhận ra điều đó. Tôi đã chỉnh sửa câu hỏi của mình bằng một giải pháp ngay bây giờ. – user1107685

+8

@ user1107685 Vui lòng không thêm câu trả lời trong các câu hỏi. Chỉ cần thêm câu trả lời của riêng bạn thay thế. – k0pernikus

+2

Nếu có nhiều thư viện thì việc đặt tên một vài thư viện không nên làm tổn thương bạn ... –

Các vấn đề liên quan