Formátování času v javascriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Formátování času v javascriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.comFormátování času v javascriptu – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Spider
~ Anonymní uživatel
5 příspěvků
5. 10. 2015   #1
-
0
-

Zdravim, chtěl jsem jednoduchej script na aktuální čas. Dvě podmínky, bere si čas ze serveru a ne od klienta a zároveň nedevastuje server tím, že se bude každou vteřinu ptát kolik je hodin.. po dlouhýh nocích jsem našel tohle šikovné řešení...

<script>
    var now = new Date(<?php echo time() * 1000 ?>);
    function startInterval(){  
        setInterval('updateTime();', 1000);  
    }
    startInterval();
    function updateTime(){
        var nowMS = now.getTime();
        nowMS += 1000;
        now.setTime(nowMS);
        var clock = document.getElementById('clox');
        if(clock){
            clock.innerHTML = now.toTimeString();
        }
    }
</script>

<div id="clox">Hodiny</div>

Problém je v tom, že chci hodiny jen jako hh:mm:ss ... mě se teď vypíšou jako 23:28:11 GMT+0200, což jsem ne moc elegantně vyřešil přidáním .slice(0, -9) .. jenže když na to kouknu na ntb, vypíšou se jako 23:28:11 GMT+0200 (Standard central european time), takže tupé oříznutí o x znaků mi asi nepomůže, pokud interpretace na různých zařízeních může být odlišná..

když to napíšu jen v php, nebude se to každou vteřinu aktualizovat.. když zas použiju jen .js a metody jako getHours() getMinutes() tak si to sice hezky zformátuju, ale čas se bude brát ze systému návštěvníka.. jak přeformátovat script co je výš, který tyhle dvě metody krásně spojuje mi prostě nedochází..

Poradí prosím někdo? Díky..

Nahlásit jako SPAM
IP: 94.113.156.–
Reklama
Reklama
Naemos0
Newbie
6. 10. 2015   #2
-
0
-

Ahoj, jsi si jistý, že nevoláš js funkce getHours, getMinutes a getSeconds na jiné proměnné nebo si nepřepíše někde v kódu datum? Tvůj kód mi ukazuje správně čas v Chrome a Safari při použití javascriptu a getterů a nebere to aktuální systémový čas.

<script>
  var now = new Date(1444083077154); // 00:11:18
  function startInterval(){
    setInterval('updateTime();', 1000);
  }
  startInterval();
  function updateTime(){
    var nowMS = now.getTime();
    nowMS += 1000;
    now.setTime(nowMS);
    var clock = document.getElementById('clox');
    if(clock){
      clock.innerHTML = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
    }
  }
</script>

<div id="clox">Hodiny</div>

https://jsfiddle.net/afn3ky88/

Nahlásit jako SPAM
IP: 46.183.64.–
Spider
~ Anonymní uživatel
5 příspěvků
6. 10. 2015   #3
-
0
-

v první chvíli jsem si nevšiml.. Děkuju moc   

Nahlásit jako SPAM
IP: 94.113.156.–
peter
~ Anonymní uživatel
2551 příspěvků
6. 10. 2015   #4
-
0
-

Mozna bych interval 1000 ms zmenil na 400 (cislo mensi nez 500 a vetsi nez 300, aby se cas obnovil aspon 3x a prilis nezatezoval prohlizec).

Nahlásit jako SPAM
IP: 2001:718:2601:258:c556:42...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 24 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý