Autor Zpráva
hobr
Profil
Zdravím, potřebuji zjistit, kolik sekund uběhlo od půlnoci, ale nepřišel (nenašel) jsem na to jak. Pomůžete? Díky!
marizikmund
Profil
var dt = new Date();
var secs = dt.getSeconds() + (60 * dt.getMinutes()) + (60 * 60 * dt.getHours());
alert(secs); //tady se to zobrazí
juriad
Profil
Třeba takto. Odečteš počet milisekund do půlnoci od milisekund do aktuálního okamžiku.
Živá ukázka
juriad
Profil
marizikmund:
To nefunguje při změně zimního/letního času, ale obvykle je to také použitelné.
Chamurappi
Profil
Reaguji na juriada:
Také by to šlo napsat jako (new Date() - new Date().setHours(0, 0, 0, 0)) / 1000.

// operator + converts Date object into number of milliseconds
Odčítání a dělení též vynucují převod na číslo.
juriad
Profil
Chamurappi:
Ups, setHours jsem nanašel.
Můžeš mě odkázat na místo, kde je popsána interakce aritmetických operátorů s objektem Date? Zkoušel jsem to hledat, ale marně.
Joker
Profil
juriad:
To není jen s objektem Date, ale celkově. Zrovna odčítání se docela často používá pro konverzi na číslo (např. var b = a - 0;).

edit: Hm, no v případě + to pravda obecně neplatí.
_es
Profil
juriad:
Můžeš mě odkázat na místo, kde je popsána interakce aritmetických operátorů s objektem Date?
Ide o pravidlá pre všetky objekty. Je vtedy použitá metóda z prototypu valueOf, prípadne toString - ak by mal byť výstup text. Pre objekt Date: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/valueOf https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString. Ak nejde o objekty, tak je pre ne v takom prípade vytvorený „objektový obal“.
hobr
Profil
marizikmund:
Děkuju, tohle řešení je pro mě plně dostačující! :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: