Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Päivämäärä + kellonaika?

Sivun loppuun

Teme [05.01.2003 17:30:53]

#

Miten saan kellonajan näkymään OIKEIN? Viimeeksi kun kokeilin tehdä PHP-tiedoston, joka näyttää päivämäärän, se tulosti oikean päivämäärän mutta kellonaika oli 7 tuntia jäljessä. Tein sen näin:

$aika = time();
$aika2 = date("d.m.Y \k\l\o H:i:s", $aika);
echo $aika2;

Eli kysymys kuuluu, missä virhe on vai onko sitä ollenkaan?

Veltto [05.01.2003 18:00:05]

#

Palvelimen kello on varmaankin jäljessä.

progo [05.01.2003 18:24:59]

#

Eipä ehkä.. vaan se palvelin on aikavyöhykkeellä seitsemän tuntia jäljemmässä kuin me.. Homman voisi korjata siten, että hakee jostain GMT-ajan, ja lisää siihin 2 tuntia..

Grey [05.01.2003 18:27:37]

#

Taikka lisää suoraan tuohon aikaan vielä 7 tuntia lisää. Tämä on sitten vain minun ehdotukseni. Ei enempää..

-Grey-

Teme [05.01.2003 18:28:52]

#

Täytyneepä kysyä domainkeskuksen ylläpidolta tuota kellonajan oikeellisuutta...

Tumpi [06.01.2003 18:07:20]

#

Jospa oma kellosi on etuajassa?

Teme [01.02.2003 17:29:52]

#

Joo huomasin et palvelimen kello on jäljessä...

Tomix [21.02.2003 15:02:34]

#

hmm, itselläni on sama ongelma, eli palvelimen kello on tunnin jäljessä, mutta miten käytännössä lisään tuohon skriptiin tunnin lisää? =)
*aika noloa kysyy tämmöst nippelitietoo mutta kuitenkin...*

thefox [21.02.2003 15:23:18]

#

int time (void)
Returns the current time measured in the number of seconds since the Unix Epoch (January 1 1970 00:00:00 GMT).

Eli lisäämällä/vähentämällä time():n palauttamaan arvoon 3600 sekuntia (60min, jokaisessa minuutissa 60sec = 1h) pitäisi homman olla klaari.

Tomix [21.02.2003 15:28:21]

#

ehh, joo...
varmasti kaikki banaaninkuorta viisammat tajusivat vastauksesi mutta itse en vieläkään osaa lisätä sitä 3600 sekuntia time() funktion palauttamaan arvoon...

$aika = time();
$aika2 = date("d.m.Y \k\l\o H:i:s", $aika);
echo $aika2;

eli tommosee koodin pätkää lisätään se 3600 sekuntia miten?
*heh, sori tää vaiva*

Antti Laaksonen [21.02.2003 17:31:42]

#

Riittää, kun ensimmäinen rivi muunnetaan seuraavanlaiseksi:

$aika = time() + 3600;

Tomix [21.02.2003 17:36:19]

#

ah, of course... mä oon vaa synnynnäinen nörtti, no mut kiitti avusta.

Pistän lähitulevaisuudes teille vähintäänki yhtä kiperiä kysymyksiä ratkottavaks :D

Tomix [21.02.2003 17:50:34]

#

Jeps, no nytte se toimii, mut on vaa semmoi juttu et ku mul on toi sama kello useemmal sivul. Ensimmäinen sivu on esim index.php, toinen tiedostot.php jne...
Eli ku sivu index.php avataan näyttää se sen hetkisen ajan (17:40) niinku pitääkin, sitte mennää vaikka tiedostot.php joka myös näyttää sen hetkisen ajan (17:41) kuten kuinka ollakaan pitääkin. Mutta sen jälkeen (olettaen että aikaa on kulunut ainakin minuutti) mennään index.php sivulle ja se näyttää sen "alkuperäisen ajan" eli 17:40, eikä nykyistä aikaa (17:41) se kyllä hoituu sivua päivittämällä, mutta eikö olisi mitään keinoa saada sivu näyttämään oikean ajan automaattisesti ilman sivun päivittämistä....

Huhh, tulipa aika täsmällinen selostus ;p
No jos joku kuitenki saa selvää ni vois vaik vähän vittuilla asiasta...
Tnx

trinit [21.02.2003 18:36:40]

#

lainaus:

Mutta sen jälkeen (olettaen että aikaa on kulunut ainakin minuutti) mennään index.php sivulle ja se näyttää sen "alkuperäisen ajan" eli 17:40, eikä nykyistä aikaa (17:41) se kyllä hoituu sivua päivittämällä, mutta eikö olisi mitään keinoa saada sivu näyttämään oikean ajan automaattisesti ilman sivun päivittämistä....

Tuo aika tulee todennäköisesti selaimen välimuistin takia, koska selain on tallentanut index.php sivun muistiin ensimmäisellä vierailulla. PHP:llä sitä ei saa päivittymään automaattisesti, JavaScriptillä sen saisi, mutta mikäli sillä ajalla ei ole mikään kovin tärkeä tehtävä sivuilla, niin en suosittele sitäkään.

Tomix [22.02.2003 13:54:07]

#

Niin, javallahan se onnistuis mut se on kyl huono vaihtoehto, parempi antaa sit olla noin ellei mitään todellakaa oo tehtävissä...

thefox [22.02.2003 18:45:20]

#

Voit ehkäpä myös kikkailla metatageilla (en suosittele):

<META http-equiv="Pragma" content="no-cache">

Näin selainta kehotetaan olemaan tallentamatta sivua välimuistiin.

Teme [24.02.2003 16:37:24]

#

Koklasin tota kellonaikaa ja huomasin et sen saa näinkin:

$tunti = date("H", time()) + 7; //Lisätään se 7 tuntia...
$aika = $tunti . date(":i:s", time());
echo $aika;

Teme [26.02.2003 20:41:13]

#

Tee sellanen META-tagi et sivu päivitetään 60 sekunnin välein, vaikka näin:

<META http-equiv="Refresh" content="60; URL=sivu.php">

Eli toi 60 on tuolla ilmaisemassa aikaa sekunteina, jolloin selain lataa sivun uudelleen. Toi sivu.php on taas se tiedosto/osoite, josta sivu ladataan kun aika on kulunut umpeen. Jos et tota ymmärtänyt ni sitten en tiedä mitä sanoa ;-)

Blaze [27.02.2003 00:37:22]

#

lainaus:

Tee sellanen META-tagi et sivu päivitetään 60 sekunnin välein

Älä ihmeessä. Jos mää luen sivua, mää en todellakaan halua, että se päättää ladata ittensä uudelleen kesken kaiken.

Tumpi [27.02.2003 14:50:15]

#

lainaus:

Tee sellanen META-tagi et sivu päivitetään 60 sekunnin välein, vaikka näin:

<META http-equiv="Refresh" content="60; URL=sivu.php">

Noin ei kannata tehdä. Mutta jos kuitenkin haluaa tollasen, on parasta jättää " URL=sivu.php" pois.

edit: toi lainaus kämmäs

Antti [03.03.2003 10:30:27]

#

Viisaampaa olisi toteuttaa tuo Javascriptillä. Muistathan, että sivun lukija saattaa olla eri aikavyöhykkeellä kuin sinä. Tällöin aika jonka esität on palvelimen aikavyöhykkeeltä. Javascriptillä taas voit lukea käyttäjän aikavyöhykkeen ajan sivulle. Seuraavassa linkkejä joista saat valmiin koodin:

http://www.javascript-page.com/clock.html
www.javascript-page.com/timer.html
http://myhome.shinbiro.com/~kbyon/jasc/control2.htm


Lisäksi ei ole erityisen järkevää ladata sivua 60 sekunnin välein palvelimelta - varsinkaan kun sivun selaajalla saattaa olla hidas yhteys - siinä palaa hihat kun yrität lukea jotain ja sivu häviää 60 sekunnin välein. IE:n uusi versio (6.x) vielä saattaa jäädä juntturaan latauksen ajaksi.

Lopuksi kysymys: Onko tarpeen näyttää kelloa websivulla? Jokaisessa käyttöjärjestelmässä on tätä nykyä kello (ellet nyt konsolitilassa websivuja selaile) jos näin ei ole on varmaan jokaisella kello lähettyvillä. Eli mitä tarkoitusta palvelee juokseva kello websivulla?


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta