Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [Java][PHP]Zegarek
cdhexx
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Witam,
mam pytanie czy jest możliwość zrobienia zegarka, który normalnie działa jak systemowy zegarek czyli odlicza sekundy, minuty, godziny, ale nie potrzebuje do tego naszego zegarka systemowego bo date ciągnie z serwera. Chciałbym przez to osiągnąc zegarek, który ma gdzieś urzytkownika i jego komputer bo potrzebuje do swojego działania tylko serwer (IMG:style_emoticons/default/smile.gif)

Liczę na pomoc (IMG:style_emoticons/default/smile.gif)

Z góry dziękuję i pozdrawiam,
Bartek.
Go to the top of the page
+Quote Post
Kszyhuu
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 32
Dołączył: 24.08.2009

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


Weź zwykły zegarek z JS:
  1. <script language="javascript">
  2. var timerID = null;
  3. var timerRunning = false;
  4. function stopclock()
  5. {
  6. if(timerRunning)
  7. clearTimeout(timerID)
  8. timerRunning = false;
  9. }
  10.  
  11. function startclock()
  12. {
  13. stopclock();
  14. showtime();
  15. }
  16.  
  17. function showtime()
  18. {
  19. var now = new Date();
  20. var hours = now.getHours();
  21. var minutes = now.getMinutes();
  22. var seconds = now.getSeconds();
  23. var timeValue = "" + ((hours > 12) ? hours - 12 : hours);
  24. timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
  25. timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
  26. timeValue += (hours >= 12) ? " P.M." : " A.M.";
  27. document.clock.face.value = timeValue;
  28. timerID = setTimeout("showtime()",1000);
  29. timerRunning = true;
  30. }
  31.  
  32.  
  33. <form name="clock" onSubmit="0">
  34. <input type="text" name="face" size="24">
  35. </form>
  36.  
  37. <script>startclock();</script>

Później liczysz różnicę miedzy serwerem (echo) a klientem (now.Get*). Następnie odczytujesz przez JS czas u klienta i korygujesz wcześniej obliczoną różnicą.
Go to the top of the page
+Quote Post
cdhexx
post
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


o.O No raczej tego nie zrobie (IMG:style_emoticons/default/tongue.gif) Mam takie skrypty java, ale one działają tylko z komputerem... Gdybym wiedział jak to zrobić to bym tutaj nie pisał. Dziękuję za chęć wykazania pomocy, jednak jak mówiłem nie zrobie tego ponieważ nie jestem dobry w Javie :/

Ten post edytował cdhexx 1.12.2009, 00:13:23
Go to the top of the page
+Quote Post
maxil
post
Post #4





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


masz przerób to sobie:

  1. <HEAD>
  2. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  3. <script LANGUAGE= "JavaScript" type= "text/javascript">
  4. <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
  5. var timerID = null
  6. function wyswietlCzas()
  7. {
  8. var data = new Date();
  9. var godziny = data.getHours();
  10. var minuty = data.getMinutes();
  11. var sekundy = data.getSeconds();
  12. var czas = godziny;
  13. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  14. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  15. czas = "<B>" + czas + "</B>"
  16. document.getElementById("zegarLayer").innerHTML = czas;
  17. timerID = setTimeout("wyswietlCzas()",1000);
  18. }
  19. // Koniec kodu JavaScript -->
  20. </SCRIPT>
  21. </HEAD>
  22. <BODY onLoad="wyswietlCzas()">
  23. <DIV
  24. ID="zegarLayer"
  25. STYLE="
  26. visibility: visible;
  27. color: red;
  28. position: absolute;
  29. top: 20;
  30. left: 20;"
  31. >
  32. </DIV>
  33. Tutaj znajduje się treść strony
  34. </BODY>
  35. </HTML>


zegarek odlicza czas na warstwie div a nie w polu input i powinien działać zgodnie z czasem serwera
Go to the top of the page
+Quote Post
cdhexx
post
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


No niestety... kolejny skrypt, który ciągnie godzinę z mojego komputera (IMG:style_emoticons/default/sad.gif) Ale także dziękuję za chęć pomocy. Może ktos inny powie jak to zrobić? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
maxil
post
Post #6





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Cytat(cdhexx @ 1.12.2009, 08:36:47 ) *
No niestety... kolejny skrypt, który ciągnie godzinę z mojego komputera (IMG:style_emoticons/default/sad.gif) Ale także dziękuję za chęć pomocy. Może ktos inny powie jak to zrobić? (IMG:style_emoticons/default/sad.gif)


a skąd wiesz że cięgnie dane z twojego komputera?
a jak przestawisz zegarek na komputerze to na stronie też się zmienia?
Go to the top of the page
+Quote Post
skowron-line
post
Post #7





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


[JAVASCRIPT] pobierz, plaintext
  1. <body onload="nakrec_zegar( "<?php echo date( 'd.m.Y H:i:s' ); ?>" );">
[JAVASCRIPT] pobierz, plaintext

tak sobie przekazujesz czas serwera do skryptu JS a w nim już sobie obrabiasz date i czas.
a później Date() jedziemy z koksem.
Go to the top of the page
+Quote Post
cdhexx
post
Post #8





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Skąd wiem? A z tąd iż wgrałem skrypt na swój serwer i zmieniałem godzine na moim komputerze (IMG:style_emoticons/default/smile.gif) Co do propozycji pana z ostatniego postu to już mam zupełny mętlik :/
Go to the top of the page
+Quote Post
skowron-line
post
Post #9





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(cdhexx @ 1.12.2009, 12:55:29 ) *
Skąd wiem? A z tąd iż wgrałem skrypt na swój serwer i zmieniałem godzine na moim komputerze (IMG:style_emoticons/default/smile.gif) Co do propozycji pana z ostatniego postu to już mam zupełny mętlik :/


To jak już się na pan zwracamy do siebie to drogi panie. PHP działa po stronie serwera czyli pobiera czas z serwera, JS działa po stronie przeglądarki i pobiera sobie czas z lokalnej maszyny. w moim poście chodzi o podanie do funkcji wyświetlającej zegar parametrów daty i czasu poprzez php.

Oczywiście jeżeli będziesz sobie testował to na localhoscie to oczywiście nie wypali bo twój komputer jest serwerem.
Go to the top of the page
+Quote Post
cdhexx
post
Post #10





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Ok jednak widzę, że jak sama nazwa wskazuję jest to "przedszkole". Trudno, że nikt mi nie pomógł osiągnąć taki efekt jaki oczekiwałem.
Pozdarawiam.
Go to the top of the page
+Quote Post
Quantum
post
Post #11





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


przecież skowron-line, podał Ci na tacy co musisz zrobić, żeby osiągnąć zamierzony efekt. Z czym masz problem ? Wystarczy, że zajrzysz na w3schools z linku z tego posta i znajdziesz tylko odpowiednie metody, którymi zmienisz pobrany z twego PC czas na ten z serwera.

Ten post edytował sniffer32 1.12.2009, 18:53:08
Go to the top of the page
+Quote Post
cdhexx
post
Post #12





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Ja nie wiem jak za to się zabrać. Pisałem przecież, że nie umiem Javy ;/ Dlatego takie pisanie... zrób to, zrób tam to nic mi nie daje ;/
Go to the top of the page
+Quote Post
Spirit86
post
Post #13





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Cytat(cdhexx @ 1.12.2009, 19:22:54 ) *
Ja nie wiem jak za to się zabrać. Pisałem przecież, że nie umiem Javy ;/ Dlatego takie pisanie... zrób to, zrób tam to nic mi nie daje ;/


po pierwsze to jest javascript po drugie, to myślisz, że ktoś Ci tu gotowca napisze, żebyś mógł sobie to podpiąć, no może lepiej, żebyś mógł to sprzedać dalej? ;>
Go to the top of the page
+Quote Post
cdhexx
post
Post #14





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Hm, nie wiem skoro takie zdanie masz o kimś kogo nie znasz to proszę lepiej zastanowić się nad sobą, bo zazwyczaj zdanie o innych nabywa się analizując swoje zachowanie (IMG:style_emoticons/default/smile.gif)

Koniec off topu.

Pozdrawiam.
Go to the top of the page
+Quote Post
maxil
post
Post #15





Grupa: Zarejestrowani
Postów: 212
Pomógł: 11
Dołączył: 8.11.2008
Skąd: Sieradz

Ostrzeżenie: (10%)
X----


Cytat(cdhexx @ 1.12.2009, 18:23:52 ) *
Ok jednak widzę, że jak sama nazwa wskazuję jest to "przedszkole". Trudno, że nikt mi nie pomógł osiągnąć taki efekt jaki oczekiwałem.
Pozdarawiam.


że forum nazywa się przedszkole to nie znaczy że, ktoś będzie za ciebie skrypt pisał. My tylko pomagamy ci napisać.
Miałeś jasno opisane jak to zrobić, ale jak już nie skorzystałeś to już twój problem
Go to the top of the page
+Quote Post
cdhexx
post
Post #16





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


No, ale kiedy zedytuje ten kodzik i dodam np: <?php echo date( 'i' ); ?> to mi się nie kręcą minuty ;/
Go to the top of the page
+Quote Post
skowron-line
post
Post #17





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Cytat(cdhexx @ 2.12.2009, 00:24:53 ) *
No, ale kiedy zedytuje ten kodzik i dodam np: <?php echo date( 'i' ); ?> to mi się nie kręcą minuty ;/


No i już prawie jesteśmy w domu. Kolegom chodzi o to że nie pokazujesz do czego sam doszedłeś, pokaż kawałek kodu a napewno ktoś napisze w której linii i co trzeba zmienić aby wszystko działało tak jako sobie to wyśniłeś. A to że nie umiesz javascriptu nie znaczy że przy pisaniu tego skryptu nie możesz się podszkolić.
Go to the top of the page
+Quote Post
thomson89
post
Post #18





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


a plik zapisałeś z rozszerzeniem .php?
odpalasz go na kompie poprzez serwer obsługujący php / jest na serwerze obsługującym php?

Ten post edytował thomson89 2.12.2009, 13:41:21
Go to the top of the page
+Quote Post
cdhexx
post
Post #19





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Hm oto część kodu:
  1. <script LANGUAGE= "JavaScript" type= "text/javascript">
  2. <!-- Ukrycie przed przeglądarkami nie obsługującymi JavaScriptów
  3. var timerID = null
  4. function wyswietlCzas()
  5. {
  6. var data = new Date();
  7. var godziny = data.getHours();
  8. var minuty = data.getMinutes( "<?php echo date( 'i' ); ?>" );
  9. var sekundy = data.getSeconds();
  10. var czas = godziny;
  11. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  12. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  13. czas = "<B>" + czas + "</B>"
  14. document.getElementById("zegarLayer").innerHTML = czas;
  15. timerID = setTimeout("wyswietlCzas()",1000);
  16. }
  17. // Koniec kodu JavaScript -->
  18. </SCRIPT>


Zapisywałem na serwerze, no działa poprawnie tzn. minuty bo reszte dorobie analogicznie później. Tylko teraz zegarek stoi w miejscu, a dokładniej minuty (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
zegarek84
post
Post #20





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

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


luknij na to - obliczone przesunięcie czasu w milisekundach i wg. tego wyświetlony czas z wartości zegara lokalnego - nie sprawdzałem czy się nie pomyliłem ale już nieraz robiłem podobny myk jeśli komuś w useurscript pisałem jakieś mini boty na szybko do gier:
[JAVASCRIPT] pobierz, plaintext
  1. var timerID = null , dif = (new Date(<?php echo floor(microtime(true)*1000);?>)).getTime() - (new Date()).getTime();
  2. function wyswietlCzas()
  3. {
  4. var data = new Date((new Date()).getTime() + dif);
  5. var godziny = data.getHours();
  6. var minuty = data.getMinutes();
  7. var sekundy = data.getSeconds();
  8. var czas = godziny;
  9. czas += ((minuty < 10) ? ":0" : ":") + minuty;
  10. czas += ((sekundy < 10) ? ":0" : ":") + sekundy;
  11. czas = "<B>" + czas + "</B>"
  12. document.getElementById("zegarLayer").innerHTML = czas;
  13. timerID = setTimeout("wyswietlCzas()",1000); /* ps. w js mało piszę ale skoro parametrów nie przekazujesz to o ile dobrze pamiętam wystarczyło setTimeout(wyswietlCzas,1000) ;) */
  14. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował zegarek84 3.12.2009, 14:17:32
Go to the top of the page
+Quote Post
cdhexx
post
Post #21





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Wszystko, pięknie i ładnie ale nadal kożysta z zegarka systemowego no i wyświetla nieprawidłową godzinę:( Nie mam pojęcia co zrobić (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
zegarek84
post
Post #22





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

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


nie zupełnie korzysta z zegarka systemowego ;p - i co do godziny to wyświetl sobie jeszcze godzinę czasu serwera - tak to jest jeśli nie uwzględnisz różnicy strefowej ;p/ czasu strefowego

luknij na algorytm jak to działa - czas z serwera przeliczony do milisekund i obliczona różnica w milisekundach z czasu lokalnego - potem w funkcji wyświetlającej czas jako parametr podaję liczbę milisekund jaka powinna być na serwerze:
(new Date()).getTime() + dif
gdzie (new Date()).getTime() to liczba milisekund czasu aktualnego - jakby nie było z tego co napisałeś wszystko działa ok - wyświetl sobie gdzieś statyczną datę i godzinę na serwerze i porównaj z tym zegarkiem - musisz dorzucić różnicę czasu strefowego

JS zawsze korzysta z zegarka systemowego!!! - teraz kwestia przeliczenia tego czasu - jak już pisałem na serwerze masz inną godzinę niż w Warszawie ;p

na początku skryptu php użyj funkcji:
  1. date_default_timezone_set('Europe/Warsaw');

Cytat(cdhexx @ 3.12.2009, 14:27:53 ) *
...no i wyświetla nieprawidłową godzinę:( Nie mam pojęcia co zrobić (IMG:style_emoticons/default/sad.gif)

wyświetla taką jaką chciałeś ;p - godzinę na serwerze ;p

Ten post edytował zegarek84 3.12.2009, 14:50:53
Go to the top of the page
+Quote Post
cdhexx
post
Post #23





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


No to sam kuknij http://lockerz-poland.com/1.php
Co odświeżenie wyświetla 1:00:00 i tak w kólko po odświeżeniu :/

A kiedy przesunke zegarek systemowy to godzina na stronie też się przesówa :/

Ten post edytował cdhexx 3.12.2009, 15:40:45
Go to the top of the page
+Quote Post
zegarek84
post
Post #24





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

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


sorki - dzisiaj odwiedzam rodzinkę i jestem deczko "podchmielony" - którą wersję php masz?? poniżej 5??
Changelog/komentarz/uwaga
zerknąłem w źródło i to co jest zwracane do Twojego skryptu nie odpowiada temu: <?php echo floor(microtime(true)*1000);?> - jak pomagałem nie testowałem skryptu js ale szybko to akurat sprawdziłem i zwracało poprawną wartość 13-to cyfrową... jak patrzę u Ciebie w źródla to wartość zwracana jest 3 cyfrowa tylko...

jeśli urzywasz php w starszej wersji niż 5 to luknij w komentarze funkcji microtime a dokładniej:
A hack for PHP < 5.0 - tyle, że użyj echo a nie print - powinno pomóc...

zresztą dla pewności pokaż kod php i podaj wersję php gdyż w algorytmie js który podałem na szybko (był podany a deczko zmodyfikowałem (IMG:style_emoticons/default/winksmiley.jpg) ) nie widzę błędu...
pozdro (IMG:style_emoticons/default/winksmiley.jpg) - sorki, że nie na pw i tak późno ale raz, że komuś może się to przydać, a 2 to byłem i jestem deczko zajęty (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
cdhexx
post
Post #25





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Kod jest identyczny jak mi podałeś. A co do wersji php to nie mam szczerze pojęcia. Ale hosting mam na webd.pl pakiet large :] Czyli co mam zrobić ?

P.S.

Mam Wersja PHP 4.4.9

Ten post edytował cdhexx 3.12.2009, 20:44:16
Go to the top of the page
+Quote Post
Quantum
post
Post #26





Grupa: Zarejestrowani
Postów: 450
Pomógł: 84
Dołączył: 27.11.2008
Skąd: Warszawa

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


[JAVASCRIPT] pobierz, plaintext
  1. function clock()
  2. {
  3. var timestamp = document.getElementById("timestamp");
  4. var time = document.getElementById("time");
  5. var new_time = parseInt(timestamp.innerHTML)+1;
  6. var date = new Date(new_time * 1000);
  7. var output = date.getHours();
  8. output += ((date.getMinutes() < 10) ? ":0" : ":") + date.getMinutes();
  9. output += ((date.getSeconds() < 10) ? ":0" : ":") + date.getSeconds();
  10. timestamp.innerHTML = new_time;
  11. time.innerHTML = "<b>" + output + "</b>";
  12. }
  13.  
  14. setInterval('clock()', 1000);
[JAVASCRIPT] pobierz, plaintext


  1. echo '<div id="timestamp" style="display:none;"></div>
  2. <div id="time">'.time().'</div>';


sprawdź to.
Go to the top of the page
+Quote Post
zegarek84
post
Post #27





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

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


@cdhexx - pytałem się o zawartość pliku php - ja podałem "fragment" (niby całość ale nie wiem jak żeś to w php wplótł)... pozatym co do wersji php phpinfo...

@sniffer32 - podałeś identyczne rozwiązanie jak ja wyżej pomijając tylko milisekundy (gdzie to że je dałem trochu poprawia wynik zwłaszcza jak się pisze pseudo boty które mają klikać w idealnie policzonym czasie ;p) - czyli użyłeś tylko funkcji time zamiast microtime + dodatkowo drobny błąd w logice funkcji gdyż założę się, że po 15min co najmniej a już na pewno po 30min na stronie czas będzie inny niż serwerowy mimo wykonywania funkcji co sekundę i dodawania sekundy do ogólnego czasu (dochodzą jeszcze różne opóźnienia powodujące późniejsze wykonanie funkcji (minimalnie ale jednak ;p) - a mając jako wzorzec zegar systemowy + różnicę ma się lepszy wzorzec czasu (IMG:style_emoticons/default/winksmiley.jpg) - co do tego wzorca to taki mały przykład jak np. grając dawniej w pewną gierkę nie miałem dokładnie czasu milisekund a były one niestety potrzebne do pewnych operacji, godzina była na stronie podawana co prawda ale z dokładnością do sekund niestety... w dodatku czasem dochodziły opóźnienia wczytania strony (co tez mogło się zdarzyć przy kliknięciu automatycznym z poziomu pseudo bota ale czas trzeba było minimalizować a nie można było od kliknąć za w czasu) - więc ustawiało się na skrypcie różnicę "doświadczalnie" i wzorzec był już idealny - niestety w tej gierce na serwie była też przerwa w godzinach najczęściej od 4:30 do 5:00 i czasy nieznacznie się różniły więc "wzorzec" trzeba było ustawiać co dzień - oczywiście też wykorzystywało się tą przerwę licząc czasy ataków tak, by wróg jeśli coś poważnego miał robić miał to właśnie zrobić w czasie przerwy serwera (czyli gdy nic nie mógł zrobić ^^) - w ten sposób można było toczyć walki z "mocnymi" zawodnikami w okolicy oddalonymi nawet o 25h drogi ^^ - a mnie lame zawsze interesowały wiochy co mają najwięcej pkt w okolicy (niestety zawsze grałem krótko z braku czasu ;/)

Ten post edytował zegarek84 3.12.2009, 23:25:37
Go to the top of the page
+Quote Post
cdhexx
post
Post #28





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Skopiowałem identycznie jak jest i wyświetla takie coś http://www.lockerz-poland.com/1.php
Go to the top of the page
+Quote Post
zegarek84
post
Post #29





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

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


człowieku - zacznij kopiować z głową - rozwiązanie już dawno w sumie miałeś na tacy... (IMG:http://img-upload.pl/images/827_q.gif)

ok - wklej poniższą zawartość bez myślenia tym razem a dopiero pomyślisz jak będziesz chciał zaimplementować:
  1. <?php
  2. date_default_timezone_set('Europe/Warsaw');
  3. function militime(){
  4. $time = explode(' ',microtime(),2);
  5. return floor(($time[1]+$time[0])*1000);
  6. };?><HTML>
  7. <HEAD>
  8. <script>
  9. var $timerID = null , $dif = (new Date(<?php echo militime();?>)).getTime() - (new Date()).getTime();
  10. function wyswietlCzas()
  11. {
  12. var $data = new Date((new Date()).getTime() + $dif),
  13. $godziny = $data.getHours(),
  14. $minuty = $data.getMinutes(),
  15. $sekundy = $data.getSeconds(),
  16. $czas = ['<b>', $godziny, ':', ($minuty<10)?'0'.concat($minuty):$minuty, ':', ($sekundy<10)?'0'.concat($sekundy):$sekundy, '</b>'].join('');
  17. document.getElementById("zegarLayer").innerHTML = $czas;
  18. $timerID = setTimeout(wyswietlCzas,1000);
  19. }
  20. window.onload=wyswietlCzas;
  21. </script>
  22. </HEAD>
  23. <BODY>
  24. <DIV ID="zegarLayer" STYLE="visibility:visible;color:red;position:absolute;top:20;left: 20;">
  25. </DIV>
  26. </BODY>
  27. </HTML><?php exit;?>

ps.
zamiast zdefiniowanej funkcji militime w php możesz użyć/zastąpić ją przez time()*1000

Ten post edytował zegarek84 4.12.2009, 01:18:41
Go to the top of the page
+Quote Post
cdhexx
post
Post #30





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


Wielkie dzięki (IMG:style_emoticons/default/smile.gif) Wszystko działa jak trzeba (IMG:style_emoticons/default/smile.gif)

Jeszcze jedno, a co bym musiał z edytować aby wyświetlało czas w AM i PM bo chce wprowadzić jeszcze drugi zegarek wyświetlający godzinę w USA?

Mniej więcej tak to u mnie wygląda jak odejmę te 6 godzin http://www.lockerz-poland.com/time.php

Ten post edytował cdhexx 4.12.2009, 01:59:06
Go to the top of the page
+Quote Post
zegarek84
post
Post #31





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

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


trochu to teraz "dziwnie" wygląda (IMG:http://img-upload.pl/images/402_a.gif) [ujemna godzina (IMG:http://img-upload.pl/images/553_x.gif) ]
luknij w kodzie na: (new Date()).getTime() + $dif - poszukaj gdzie to jest - tutaj masz obliczoną liczbę milisekund od "since the Unix Epoch (January 1 1970 00:00:00 GMT)" - tak więc dla Polski teraz masz poprawną wartość - jeśli Polska jest punktem odniesienia to rozumowanie Twoje idzie w dobrym kierunku ale....

aby to uporządkować policz tą wartość dla Polski
$pl = (new Date()).getTime() + $dif;
no i od tego odejmij te 6h - ale pomyśl jak ;p - pisałem , że tamto jest w milisekundach - więc:
$en = $pl - 6*60*60*1000;

no a teraz pasowało by mieć 2 różne daty czyli:
$data_pl = new Date($pl);
$data_en = new Date($en);
i analogicznie z godzinami itd... $godzina_pl... $godzina_en...
co do wyświetlania AM i PM sprawdzasz czy godziny >12 czy nie i jak pm to odejmujesz te 12 od wartości wyświetlanej godziny (IMG:http://img-upload.pl/images/959_e.gif) ...

lub jeszcze inaczej można puszczać funkcję z dodatkowym parametrem na przesunięcie i samo by liczyło - ale spróbuj pomyśleć trochu i przerobić to co masz - prędzej się nauczysz - już gotowca dostałeś i teraz dostosować go tylko musisz...

...co prawda mógłbym napisać gotową funkcję ale nie od tego jest to forum żeby dawać gotowce - na tym forum pomagamy - powyższy "gotowiec" otrzymałeś choć wszystko wcześniej napisalem jak na tacy co i do czego ale też pisałem, że musisz już sam cały kod dostosować...

pozdro (IMG:http://img-upload.pl/images/170_l.gif)

Ten post edytował zegarek84 4.12.2009, 02:25:21
Go to the top of the page
+Quote Post
cdhexx
post
Post #32





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 30.11.2009

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


OKi zrobiłem te przesunięcie czasu o sześć godzin w tył http://www.lockerz-poland.com/time.php ale nadal jest problem z wykonaniem tego AM i PM, bo to nie tylko musi wyświetlać AM i PM ale zamienić czas na format amerykański czyli dwunastogodzinny. Próbowałem użyć warunku ale coś mi nie wyszło (IMG:style_emoticons/default/sad.gif) Jakieś wskazówki ?

P.S.
jeszcze jedno ponieważ iż forum MyBB nie obsługuje php (jeżeli chodzi o edycje skryptu przez panel administracyjny), a chciałem zamieścić tam mój skrypt. Jest jakaś możliwość umieszczenia tam tego skryptu pomijając rameczki?

OK z godziną sobie poradziłem x) Teraz tylko to pytanie z P.S.'a proszę o szybką odpowiedź bo chce już skrypt umieścić (IMG:style_emoticons/default/smile.gif)

OK temat zamknięty już wszystko zrobiłem (IMG:style_emoticons/default/smile.gif)
Dziękuję za pomoc i pozdrawiam serdecznie (IMG:style_emoticons/default/smile.gif)

Ten post edytował cdhexx 5.12.2009, 00:32:02
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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.12.2025 - 20:38