[JS] Błąd w odliczaniu

[JS] Błąd w odliczaniu
Atverstyt
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

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

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

Adamo
  • Rejestracja: dni
  • Ostatnio: dni
0

podzielić na początku przez 1000 ?

Atverstyt
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
0

sądzisz że to pomoże?

czyli ma być??

Kopiuj
var licz = czas - (dzis.getTime()/1000);
Loganek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 268
0

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

piechnat
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
<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>
Atverstyt
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
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 ;]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.