[JS] Błąd w odliczaniu

0

Tu macie skrypt (nie mój, ale troche go zmieniłem):

<script language="JavaScript">
	function odlicz(czas) {
            var dzis = new Date();
		var pokaz = dzis.getTime();
            var licz = czas - dzis.getTime();
            var dni = Math.floor(licz / (1000 * 60 * 60 * 24));
            var godz = Math.floor(((licz / (1000 * 60 * 60 * 24)) - dni)* 24);
            var min = Math.floor(((((licz / (1000 * 60 * 60 * 24)) - dni)* 24) - godz)*60 );
            var sek = Math.floor(((((((licz / (1000 * 60 * 60 * 24)) - dni)* 24) - godz)*60 ) - min )*60);
            document.getElementById("odlicz").innerHTML="Wynik: " + godz + ":" + min + ":" + sek + " - " + pokaz;
    }
</script>

<?
echo time();

$czas = "1175342194";

print("
<script type=\"text/javascript\">
    window.setInterval(\"odlicz($czas)\",1000)
</script>");


?>

<div id="odlicz"></div>

I terach chodzi o to że za pomocą funkcji time(); w php wyślwietla ciąg dziesięciu znaków. Natomiast w js wyświetla 13, czyli pewnie dodaje jeszcze milisekundy... jak to zmienić by w js wyświetlał też tylko 10?

po prostu musze odjąć od siebie 2 daty... czyli date podana w funkcji i odejmuje od nia date terazniejsza...

0

podzielić na początku przez 1000 ?

0

sądzisz że to pomoże?

czyli ma być??

var licz = czas - (dzis.getTime()/1000);
0

no właśnie tak, tylko że wtedy będzie chyba reszta,

0
<script language="JavaScript">
  function odlicz(czas) {
    var dzis = new Date();
    var pokaz = Math.round(dzis.getTime()/1000);
    var licz = czas - pokaz;
    var dni = Math.floor(licz / (60 * 60 * 24));
    var godz = Math.floor(((licz / (60 * 60 * 24)) - dni)* 24);
    var min = Math.floor(((((licz / (60 * 60 * 24)) - dni)* 24) - godz)*60 );
    var sek = Math.floor(((((((licz / (60 * 60 * 24)) - dni)* 24) - godz)*60 ) - min )*60);
    document.getElementById("odlicz").innerHTML="Wynik: " + godz + ":" + min + ":" + sek + " - " + pokaz;
  }
</script>
<?php
echo time();
$czas = "1175503194";
print("
<script type=\"text/javascript\">
  window.setInterval(\"odlicz($czas)\",1000)
</script>");
?>
<div id="odlicz"></div>
0

już mi to od dawna dziala ale dzieki. po prostu zobilem tak ze po podziale zaokragilem przez Math.floor i wtedy wyswietal 10 a nie 13 znakow ;]

1 użytkowników online, w tym zalogowanych: 0, gości: 1