Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Pobranie czasu z serwera
Deusx
post
Post #1





Grupa: Zarejestrowani
Postów: 126
Pomógł: 2
Dołączył: 27.08.2006

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


Witam !

Mam napisany skrypt w JS, który pokazuje czas o pewne opóźnienie (w zależności jakie ustawiomy dane na stronie).
I skrypt działa w 100% poprawnie, jednak tylko teoretycznie.

Jak wiadomo JS wyświetla czas z naszego komputera i dodaje do niego opóźnione sekundy czy miunty. Bardzo bym chciał, aby czas nie byś wyświetlane z naszego komputera a z time() z php. Da się tak zrobić ? Jak tak, to jak ?

KOD:

[JAVASCRIPT] pobierz, plaintext
  1. function setTimes()
  2. {
  3. document.getElementById("distance").innerHTML = tsdpkt(distance());
  4. var seconds = duration();
  5. var now = new Date();
  6. var doleci = new Date();
  7. var wroci = new Date();
  8. doleci.setSeconds( now.getSeconds() + seconds );
  9. wroci.setSeconds( now.getSeconds() + 2*seconds );
  10.  
  11. dminutes = doleci.getMinutes();
  12. dseconds = doleci.getSeconds();
  13. if (dminutes < 10) dminutes = "0" + dminutes;
  14. if (dseconds < 10) dseconds = "0" + dseconds;
  15. wminutes = wroci.getMinutes();
  16. wseconds = wroci.getSeconds();
  17. if (wminutes < 10) wminutes = "0" + wminutes;
  18. if (wseconds < 10) wseconds = "0" + wseconds;
  19.  
  20. document.getElementById("arriveTime").innerHTML = doleci.getHours()+":"+dminutes+":"+dseconds;
  21. document.getElementById("backTime").innerHTML = wroci.getHours() + ":" +wminutes+ ":" +wseconds;
  22.  
  23. setTimeout("setTimes()",1000);
  24. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Powinno dać radę ajaxem musiałbyś ustawić odpytywanie strony ze skryptem php co 0,5 sekundy i teorii powinno działać. W/g mnie nie mógłbyś jednak operować na obiekcie date javascriptu, datę musiałbyś wyświetlać odpowiednio formatując dane pobrane ajaxem od skryptu php
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

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


Witam.

[JAVASCRIPT] pobierz, plaintext
  1. function setTimes(data_z_serwera)
  2.  
  3. {
  4. document.getElementById("distance").innerHTML = tsdpkt(distance());
  5. var seconds = duration();
  6. //i tu podaj datę
  7. var now = new Date(data_z_serwera);
[JAVASCRIPT] pobierz, plaintext


Są cztery sposoby na utworzenie daty:
[JAVASCRIPT] pobierz, plaintext
  1. new Date() // obecna
  2. new Date(milliseconds) //liczba milisekund od 1970/01/01
  3. new Date(dateString) //np. 2013
  4. new Date(year, month, day, hours, minutes, seconds, milliseconds) // np. 2012,02,10,8,10,59,0
[JAVASCRIPT] pobierz, plaintext


Ten post edytował rocktech.pl 9.02.2012, 08:57:00
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Cytat(amii @ 9.02.2012, 08:52:27 ) *
Powinno dać radę ajaxem musiałbyś ustawić odpytywanie strony ze skryptem php co 0,5 sekundy i teorii powinno działać.


(IMG:style_emoticons/default/ohno-smiley.gif)

A nie lepiej:

[JAVASCRIPT] pobierz, plaintext
  1. var timestamp = <?=time()?>;
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
amii
post
Post #5





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


#luq a w jaki sposób bez odświeżania JS będzie aktualizował czas pobierany ze strony serwera ? (rozumiem, że o to chodziło autorowi). W ten sposób możesz pobrać czas i przypisać do zmiennej ale nie będziesz go aktualizował (chyba, że o czymś nie wiem)
Go to the top of the page
+Quote Post
#luq
post
Post #6





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


No ale sekunda od frontu i od backendu trwa tyle samo prawda?
Wystarczy więc pobrać jedynie początek czasu i już potem dodawać po stronie frontu, w przypadku zakończenia puścić requesta czy rzeczywiście koniec (bo możemy sobie edytować kod frontu).
Go to the top of the page
+Quote Post
zegarek84
post
Post #7





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


w poniższym temacie masz rozwiązanie problemu:
[Java][PHP]Zegarek
Go to the top of the page
+Quote Post
Deusx
post
Post #8





Grupa: Zarejestrowani
Postów: 126
Pomógł: 2
Dołączył: 27.08.2006

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


Cytat(zegarek84 @ 9.02.2012, 13:57:59 ) *
w poniższym temacie masz rozwiązanie problemu:
[Java][PHP]Zegarek


Dzięki, znalazłem odpowiedź w w/w temacie.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 05:26