Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][PHP]mikrosekundy w PHP lub timestamp w Javascript
Michael2318
post 13.02.2013, 23:42:39
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 116
Dołączył: 3.06.2012
Skąd: Lędziny

Ostrzeżenie: (0%)
-----


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ń ?
Go to the top of the page
+Quote Post
Phobos71
post 14.02.2013, 02:33:17
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 24.01.2013

Ostrzeżenie: (0%)
-----


Dziwne, mi zwraca dobrze.
  1. $czas = microtime(true);
  2. echo $czas;

zwraca: 1360805962.4379

Ten post edytował Phobos71 14.02.2013, 02:33:29
Go to the top of the page
+Quote Post
Crozin
post 28.03.2013, 20:22:40
Post #3





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Crozin 28.03.2013, 20:26:15
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.07.2025 - 15:28