Odliczanie dni, godzin i minut
wersja zgodna z polską gramatyką

Skrypt odlicza dokładnie liczbę dni, godzin i minut do wskazanej w
BigDay = new Date("November 11, 2020") daty.
Datę tę możemy oczywiście zmieniać, stosownie do naszych potrzeb
- należy ją podać w języku angielskim lub w postaci numerycznej
BigDay = new Date(2020,10,1)
Uwaga: jako numer miesiaca podaje się liczbę o jeden mniej niż „powinno” być.
Styczeń ma numer 0, Luty 1 itd, więc Listopad ma numer 10

W funkcji Date() można podać więcej parametrów; kolejne oznaczają godzinę, minutę i sekundę.
BigDay = new Date(2020,10,1, 12,0,0) oznacza 1 listopada, godz. 12:00:00

Jeżeli ci się wydaje, że skrypt myli się o jedną godzinę, to pomyśl czy pomiędzy aktualną datą w twoim komputerze a datą ustawioną w BigDay nie występuje zimowa/wiosenna zmiana czasu :-)

Skopiuj kod


W ramach HEAD

<script language="Javascript" type="text/javascript">
<!-- //
today = new Date();
// BigDay = new Date("November 1, 2020")
BigDay = new Date(2020,10,1);
msPerDay = 24 * 60 * 60 * 1000 ;
timeLeft = (BigDay.getTime() - today.getTime());
e_daysLeft = timeLeft / msPerDay;
daysLeft = Math.floor(e_daysLeft);
tdays = Math.floor(e_daysLeft);
e_hrsLeft = (e_daysLeft - daysLeft)*24;
hrsLeft = Math.floor(e_hrsLeft);
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60);
var id,pause=0,position=0;
function imascroller() {
// variables declaration and initial values
  var i,k;
// Prosze zwrocic uwage na uzycie funkcji Liczebnik 
// do generowania koncowek
  var msg= "           "+
    Liczebnik( daysLeft, "Został"," ","y ","o ")+
    daysLeft+
    Liczebnik( daysLeft, " ","dzień, ","dni, ","dni, ")+
    hrsLeft +
    Liczebnik( hrsLeft," godzin", "a","y","")+" i "+
    minsLeft+
    Liczebnik( minsLeft," minut",  "a ","y ","  ")+
    " do 1 listopada 2020!"+
    "                                       ";

// increase msg
   k = (150/msg.length)+1;
   for(i=0;i<=k;i++) msg+=" "+msg;
// show it to the window

   document.forms[0].imascroller.value = 
   msg.substring(position,position+300);
// set new position
   if(position++==300) position=0;
// repeat at entered speed
   id=setTimeout("imascroller()",200); }
//  --></script>

W ramach BODY

<form ID="form2">
<input type="text" name="imascroller" size="60" value="">
</form>
<script language="javascript" type="text/javascript">
<!--//
timerID = setTimeout("location.reload()",60000)
--></script>
<script language="javascript" type="text/javascript">
<!--
timerID = setTimeout("history.go(0)",60000)
--></script>

W BODY należy jeszcze dodać

<body onLoad="imascroller()">

Romek