Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]mikrosekundy w PHP lub timestamp w Javascript
Forum PHP.pl > Forum > Przedszkole
Michael2318
Walczę od pewnego czasu z tym, jak uzyskać od strony PHP czas microtime lub jak od strony javascript uzyskać timestamp. Od razu mówię, ze żadne zaokrąglenia mnie nie interesują bo do tego sam doszedłem i mi głupoty wychodzą, musze mieć dokładny czas, co do mikrosekundy.
Wiem, że w php mamy microtime(), ale co z tego, skoro to zwraca mi wartość, np.:
1363452758.23 - brak ostatniej cyfry.
Z kolei w javascript można:
Kod
Math.round((new Date()).getTime()/1000);


Ale to też mnie kompletnie nie rajcuje. Więc, ponawiając moje pytanie - czy jest jakakolwiek możliwość uzyskania którejkolwiek z tych wartości bez zaokrągleń i innych kąbinowań ?
Phobos71
Dziwne, mi zwraca dobrze.
  1. $czas = microtime(true);
  2. echo $czas;

zwraca: 1360805962.4379
Crozin
1. Określ czy chodzi Ci o milisekundę czy o mikrosekundę. Ponieważ piszesz o jednym, a operujesz na funkcjach przeznaczonych do pracy z drugim.
2. Pamiętaj, że system operacyjny może celowo nie odświeżać zegara zbyt często m.in. w celu oszczędności energii. Windows o ile dobrze pamiętam odświeża zegar z częstotliwością zaledwie 80-100Hz.
3. Pamiętaj, że nawet jeżeli jakaś funkcja zwróci Ci czas z rozdzielczością mikrosekundy wcale nie jest powiedziane, że będzie to czas z dokładnością do jednej mikrosekundy. Przeciętny domowy komputer, nie posiada po prostu zegara, który byłby wstanie tak dokładnie mierzyć czas. Innymi słowy, ostatnie cyfry z wyniku mogą być kompletnie losowe.
4. Co jest złego z (new Date()).getTime()/1000? Uzyskasz tutaj czas z precyzją milisekundy.

* mam nadzieję, że nigdzie nie pomyliłem dokładności z precyzją. wink.gif

EDIT: Pamiętaj też o tym, że typ float nie operuje na dokładnych wartościach.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.