2012-09-05 14 views
21

Olası Çoğalt:
Formatting a date in JavaScriptJavascript Date.toString() biçimlendirme?

Senaryonun aşağıdaki parça var. Bir tarih aralığı olan bir HTML5 kaydırıcıdır. Kaydırıcı bir unix zaman damgası kullanıyor ve mevcut seçimi okunabilir bir biçimde görüntülemek istiyorum.

Bu iyi çalışıyor, ancak "yyyy-AA-gg HH: mm: ss" biçiminde belirtmeme rağmen "Wed May 16 2012 08:07:30 GMT + 0100 (GMT Yaz Saati)" olarak çıkılıyor.

Biçimimde neden çıktısı olmayan bir fikir var mı?

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

DÜZENLEME: Tarih ile mümkün değildi gerçekten doğru yönde harekete geçirmeyi unutmayın, için teşekkürler. Bu yerine çalışır:

<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

Teşekkürler Mat - Bunun üzerine bir cevapları bir araya getirmeyi başardım. Soruyu bir çözümle düzenledim. – user1107685

+0

Lütfen cevabınızı soru yerine bir cevap olarak veriniz. – Alex

cevap

7

JavaScript'in Date nesne olduğunu desteklememektedir. Bunu senin için yapacak birçok kütüphane var.

+0

Teşekkürler - farkında değildim. Sorumu şimdi bir çözümle düzenledim. – user1107685

+8

@ user1107685 Lütfen sorulara cevap eklemeyin. Bunun yerine kendi cevabınızı ekleyin. – k0pernikus

+2

Çok sayıda kütüphane varsa, birkaçını adlandırarak sizi incitmemeliydi ... –