![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 12.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Jestem nowy oraz to mój pierwszy post na waszym forum. Dlatego zdaje mi się że w idealnym miejscu pisze. Zdaje sobię sptawę że podobny temat już pewno się przewinoł kilka razy przez to forum. Ale do rzeczy. Rzeczy w tym że mam konkretny skrypn napisany w JavaScript prze ze mnie (nie ukrywam że sugerowałem się innymi skryptami lecz finalny efekt to dzieło mojej własnej pracy) do obliczania czasu i daty. Lecz jak to wiadomo JS cięgnie dane z komputera lokalnego, a mi zależy żeby były pobierane z serwera i tu trzeba dodać gdzieś trochę kodu PHP czy jakoś tak, ale nie wiem jak sie za to zabrać. Mógł by mi ktoś pomóc i wytłumaczyć jak przedszkolakowi skąd się co bierze i po co żeby mój skrypt zassał date i czas z serwera?? O to mój skrypt: Kod function zegar() { var teraz=new Date(); function zero(liczba) { return liczba=(liczba < 10)? "0"+liczba : liczba; } //CZAS var godzina = zero(teraz.getHours()); var minuta = zero(teraz.getMinutes()); var sekunda = zero(teraz.getSeconds()); if (godzina >= 0 && godzina < 6 ) godzina = 'Ojej - to był tylko sen?... - ' + godzina; if (godzina >= 6 && godzina < 9 ) godzina = 'Zaczyna się kolejny dzień - ' + godzina; if (godzina >= 9 && godzina < 19 ) godzina = 'Kolejny piękny dzionek - ' + godzina; if (godzina >= 19 && godzina < 0 ) godzina = 'No to mamy nocke. Witam w świecie snu - ' + godzina; document.getElementById('czas').innerHTML = ('<abbr title="CZAS JEST MIERZONY WEDŁUG TWOJEGO KOMPUTERA"; id="czas_js">') + godzina + ':' + minuta + ':' + sekunda; ('</abbr>') setTimeout("zegar()",1000); //DATA var nazwa = new Array('Poniedziałek - ', 'Wtorek - ', 'Środa - ', 'Czwartek - ', 'Piątek - ', 'Sobota - ', 'Niedziela - '); var tydzien = nazwa[teraz.getDay()-1]; var dzien = zero(teraz.getDate()); var miesiac = zero(teraz.getMonth()+1); var rok = teraz.getFullYear(); document.getElementById('data').innerHTML = ('<abbr title="DATA JEST MIERZONY WEDŁUG TWOJEGO KOMPUTERA"; id="data_js">') + tydzien + dzien + '.' + miesiac + '.' + rok + 'r. '; ('</abbr> ') } Dziękuje bardzo za pomoc, wrozumienie i wszelkie sugestie. P.S. Czy na waszym forum można liczyć na pomoc niekoniecznie związaną z php? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 240 Pomógł: 278 Dołączył: 11.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze Java != JavaScript
![]() Co do pobierania czasu z serwera użyj time a wyświetl ją sobie po swojemu za pomocą date. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 7 Dołączył: 6.01.2012 Ostrzeżenie: (0%) ![]() ![]() |
Na mój chłopski rozum, najprościej (bez AJAXA) będzie tak:
1) Piszesz funkcję JS obliczającą datę. Funkcja musi jakoś pobierać parametr daty z zewnątrz, np:
2) Umieszczasz plik JS z tą funkcją na górze, przed znacznikiem BODY (nieoptymalne, ale konieczne...); 3) W kodzie HTML umieszczasz wywołanie funkcji:
W ten sposób, po odpaleniu pliku do funkcji zostanie przekazana data z PHP w formacie umożliwiającym JSowi wygenerowanie obiektu Date z datą ustawioną zgodnie z Twoim życzeniem. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 12.11.2013 Ostrzeżenie: (0%) ![]() ![]() |
czyli cały skryp ma tak wyglądać:
Kod function zegar(data_z_php) { var data_ze_skryptu = new Date(data_z_php); function zero(liczba) { return liczba=(liczba < 10)? "0"+liczba : liczba; } //CZAS var godzina = zero(data_ze_skryptu.getHours()); var minuta = zero(data_ze_skryptu.getMinutes()); var sekunda = zero(data_ze_skryptu.getSeconds()); if (godzina >= 23 && godzina < 6 ) godzina = 'Ojej - to był tylko sen?... - ' + godzina; if (godzina >= 6 && godzina < 9 ) godzina = 'Zaczyna się kolejny dzień - ' + godzina; if (godzina >= 9 && godzina < 19 ) godzina = 'Kolejny piękny dzionek - ' + godzina; if (godzina >= 19 && godzina < 23 ) godzina = 'No to mamy nocke. Witam w świecie snu - ' + godzina; document.getElementById('czas').innerHTML = ('<abbr title="CZAS JEST MIERZONY WEDŁUG TWOJEGO KOMPUTERA"; id="czas_js">') + godzina + ':' + minuta + ':' + sekunda; ('</abbr>') setTimeout("zegar()",1000); //DATA var nazwa = new Array('Poniedziałek - ', 'Wtorek - ', 'Środa - ', 'Czwartek - ', 'Piątek - ', 'Sobota - ', 'Niedziela - '); var tydzien = nazwa[data_ze_skryptu.getDay()-1]; var dzien = zero(data_ze_skryptu.getDate()); var miesiac = zero(data_ze_skryptu.getMonth()+1); var rok = data_ze_skryptu.getFullYear(); document.getElementById('data').innerHTML = ('<abbr title="DATA JEST MIERZONY WEDŁUG TWOJEGO KOMPUTERA"; id="data_js">') + tydzien + dzien + '.' + miesiac + '.' + rok + 'r. '; ('</abbr> ') } a kod html tak: Kod <!doctype html> <html> <head> <meta charset='utf-8' /> <meta name='author' content='patS.' /> <title>projekt 2.0</title> <script type='text/javascript' src='js/czas_&_data.js'></script> </head> <body onload='zegar()'> <script> zegarek("<?php echo date('D, d M y H:i:s')." +0000"; ?>"); </script> </body> </html> czy o czymś zapomniałem jeszcze ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:22 |