Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Java][PHP] czas & data z serwera
9tiny1
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Po pierwsze Java != JavaScript smile.gif

Co do pobierania czasu z serwera użyj time a wyświetl ją sobie po swojemu za pomocą date.


--------------------
Go to the top of the page
+Quote Post
stud3nt
post
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:
  1. function zegarek(data_z_php) {
  2. var data_ze_skryptu = new Date(data_z_php);
  3. //
  4. //dalsza część skryptu
  5. //
  6. }

2) Umieszczasz plik JS z tą funkcją na górze, przed znacznikiem BODY (nieoptymalne, ale konieczne...);

3) W kodzie HTML umieszczasz wywołanie funkcji:
  1. <script type="text/javascript">
  2. zegarek("<?php echo date('D, d M y H:i:s')." +0000"; ?>");
  3. </script>


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.
Go to the top of the page
+Quote Post
9tiny1
post
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 questionmark.gif
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 Aktualny czas: 19.08.2025 - 16:22