Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Vremenske Zone u PHP ??? Kako ???

[es] :: PHP :: Vremenske Zone u PHP ??? Kako ???

Strane: 1 2

[ Pregleda: 3515 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Vremenske Zone u PHP ??? Kako ???31.05.2009. u 14:43 - pre 181 meseci
Pozdrav svima,

ovako, mene interesuje sledece,
imam tabelu users gde se nalaze informacije o korisnicima, njihova lozinka, korisnicko ime, zemlja, itd, i datum registracije i datum i vreme poslednje posete, e sad, mene zanima vremenska zona, kako da nekome u drugoj vremenskoj zoni prikazem datum i vreme u njegovoj vremenskoj zoni, tj, zelim da pri registraciji da stavim da korisnik izabere u kojoj je vremenskoj zoni i da na primer ako napravim/imam forum da se njemu prikazuje datum i vreme u njegovoj vremenskoj zoni.
Da li moze nesto tipa ovako, da se informacije koje se unose u MySql bazu budu u jednoj vremenskoj zoni a da korisnik zavisno od njegove vremenske zone da dobije informacije kada poseti odredjenu stranu u njegovoj vremenskoj zoni.
Trazio sam na netu neke primere ali nisam uspeo, pronasao sam nesto ali nisam shvatio kako da to upotrebim, znaci ne treba mi nista komplikovano, vec samo da prikazem ljudima u razlicitim vremenskim zonama kako treba datum i vreme ...

Hvala na pomoci
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 14:54 - pre 181 meseci
Prouči ovu MySQL f-ju, mislim da je to što tebi treba...

U tom upitu, pri dohvatanju post-ova, ili čega već, bi samo trebao da dodaš i poziv te f-je za datum koji dohvataš, npr.:
Code:
SELECT p.author, p.text, CONVERT_TZ(p.datetime, '+00:00', u.timezone)
FROM posts p, users u
WHERE u.username = '$username'

To $username bi bila recimo neka promenljiva iz sesije, koja definiše trenutno prijavljenog korisnika, al' to je samo prost primer, čisto da vidiš kako se koristi CONVERT_TZ(). Taj drugi argument u pozivu te f-je je trenutna (default) vremenska zona...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:07 - pre 181 meseci
Citat:
Nikola Poša: Prouči ovu MySQL f-ju, mislim da je to što tebi treba...

U tom upitu, pri dohvatanju post-ova, ili čega već, bi samo trebao da dodaš i poziv te f-je za datum koji dohvataš, npr.:
Code:
SELECT p.author, p.text, CONVERT_TZ(p.datetime, '+00:00', u.timezone)
FROM posts p, users u
WHERE u.username = '$username'

To $username bi bila recimo neka promenljiva iz sesije, koja definiše trenutno prijavljenog korisnika, al' to je samo prost primer, čisto da vidiš kako se koristi CONVERT_TZ(). Taj drugi argument u pozivu te f-je je trenutna (default) vremenska zona...


aha, e to sam trazio, funkciju za konvertovanje iz jedne u drugu vremensku zonu, hvala, pomoglo je.
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:11 - pre 181 meseci
cek, sad sam malo zbunjen, zbunjem sam jer sam sad ukucao CONVERT_TZ u pretragu u online dokumentaciji na php sajtu i nista nije pronasao, kao da ta funkcija ne postoji.

----

sad sam probao sledece da napisem u php fajlu:
echo convert_tz('2007-10-28 23:00:00', '-5:00', '+0:00');
kao primer, da isprobam
i dobio sam samo ovo:
Fatal error: Call to undefined function convert_tz() in ...

[Ovu poruku je menjao metvsmet dana 31.05.2009. u 16:30 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:29 - pre 181 meseci
Ne PHP, MySQL f-ja. Dao sam ti i link do te f-je u mojoj poruci...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:32 - pre 181 meseci
Citat:
Nikola Poša: Ne PHP, MySQL f-ja. :) Dao sam ti i link do te f-je u mojoj poruci...


aha, sorry, tek sad sam video da si napisao MySql funkcija, ali zbog cega ja ne mogu da koristim tu funkciju, koristim XAMPP, i pozvao ja tu funkciju i izbacuje mi da ta funkcija ne postoji.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:37 - pre 181 meseci
A koju verziju MySQL-a imaš?
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:39 - pre 181 meseci
btw Imaš i PHP-ovu f-ju date_default_timezone_set...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:43 - pre 181 meseci
ovo mi izbacuje kada stavim phpinfo() funkciju:
Client API version 5.1.30

koliko ja vidim ovo zavisi od MySql verzije, u ako verzija nije odgovarajuca onda treba neka podesavanja, tj, da se ubacuju neke tabele, to sam video na ono stranici koju si mi dao. To mi je malo komplikovano, jer, ta podesavanja ja mozda budem mogao da uradim na svom racunaru, ali kada skriptu prebacim ja neki hosting, ja nemam pristup tome sto treba da uradim, znaci, to zavisi od hostinga koji izaberem.

-------
aha, sad cu pogledati tu php funkciju, hvala
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 15:45 - pre 181 meseci
Onda jednostavno koristi date_default_timezone_set kao alternativu...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 17:45 - pre 181 meseci
ovo sa vremenskim zonama mi mnogo komplikovano, nisam shvatio kako da uradim to sto hocu.
odlucio sam sa sledecim kodom da idem:
Code:
$server_date = date("Y-m-d H:i:s");
$timezone_offset = +1; // korisnikova vremenska zona
$date = date("Y-m-d H:i:s", strtotime($server_date . " +" . $timezone_offset . " hours"));
echo $date;


e sad, mene zanima samo sledece:
posto mi je trenutno na hosting-u podesena +2 vremenska zona, kako da ja promenim da bude 0, tj, da li moze da to ide nesto preko php.ini fajla, da ja upisem tu da hocu da mi vremenska zona servera bude 0 i da ja taj php.ini fajl stavim u root direktorijum.
Trenutno kad stavim funkciju date('r',time()); server mi izbacuje Sun, 31 May 2009 18:43:03 +0200, ali ja hocu da mi zona bude 0.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 17:55 - pre 181 meseci
A ja tu opet ne vidim da si koristio f-ju date_default_timezone_set...

Probaj da dodaš i ovo:
Code:
date_default_timezone_set("Europe/Belgrade");

Ili ovako:
Code:
date_default_timezone_set('UTC');

A možeš i UTC+1, UTC+2, itd.
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 18:08 - pre 181 meseci
al' problem je to sto nisam shvatio kako da izvucem datum iz baze i da prikazem u odredjenoj vremenskoj zoni ...
zato sam pitao za ovu prethodnu funkciju koju sma napisao, jer mi je mnogo jednostavna ta funkcija ...
samo ne znam kako da podesim da mi server bude u 0 vremenskoj zoni.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 18:35 - pre 181 meseci
Citat:
metvsmet: al' problem je to sto nisam shvatio kako da izvucem datum iz baze i da prikazem u odredjenoj vremenskoj zoni ...

Code:

//dohvatanje datuma iz baze

date_default_timezone_set("Europe/Belgrade"); // +2 sata

$date = $datum_vreme_iz_baze;
   
echo date('H:i:s', strtotime($date)); //Ispis vremena (trebalo bi da bude dva sata vise od onog iz baze)

Nadam se da je to sad jasno...

Citat:
metvsmet: samo ne znam kako da podesim da mi server bude u 0 vremenskoj zoni.

Ako baš hoćeš, možeš da uradiš ini_set za vremensku zonu, mada je to isto kao i korišćenje date_default_timezone_set, ovako:
Code:

ini_set('date.timezone', 'UTC');
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 18:49 - pre 181 meseci
ok, hvala za oba primera, probacu ...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 19:33 - pre 181 meseci
probao sam ovo:
Code:
<?php
date_default_timezone_set("Europe/Moscow");
$date = "20:25:48"; // string iz baze
echo date('H:i:s', strtotime($date));
?>

i dobijem ovo:
20:25:48

i probao sam ovo:
Code:
<?php
date_default_timezone_set("Europe/Zaporozhye");
$date = "20:25:48"; // string iz baze
echo date('H:i:s', strtotime($date));
?>

i dobijem ovo:
20:25:48

i probao sam ovo:
Code:
<?php
date_default_timezone_set("Europe/Belgrade");
$date = "20:25:48"; // string iz baze
echo date('H:i:s', strtotime($date));
?>

i dobijem ovo:
20:25:48

sto znaci, izlaz mi se ne menja, tj, vreme je uvek isto, kao da i nista nisam ni uradio.
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 19:52 - pre 181 meseci
pronasao sam ovu funkciju:

Code:
putenv('TZ=Europe/Belgrade');
mktime(0,0,0,1,1,1970);
echo date("Y-m-d H:i:s");
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 19:59 - pre 181 meseci
Probaj i ovako:
Code:

$time = '20:25:48'; 
    
$dateTime = new DateTime($time);
$dateTime->setTimeZone(new DateTimeZone("Europe/Moscow"));
echo $dateTime->format('H:i:s');

DateTime je PHP ugrađena klasa...
 
Odgovor na temu

metvsmet

Član broj: 223029
Poruke: 27
93.87.147.*



Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 20:05 - pre 181 meseci
Citat:
Nikola Poša: Probaj i ovako:
Code:

$time = '20:25:48'; 

$dateTime = new DateTime($time);
$dateTime->setTimeZone(new DateTimeZone("Europe/Moscow"));
echo $dateTime->format('H:i:s');

DateTime je PHP ugrađena klasa...


e to, hvala na ovome, sad razumem sta i kako treba da uradim ... tnx
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-1.sezampro.yu.



+33 Profil

icon Re: Vremenske Zone u PHP ??? Kako ???31.05.2009. u 20:19 - pre 181 meseci
Ovako je još pravilinije:
Code:

$time = '20:25:48';
echo $time . '<br />'; 
    
$dateTime = new DateTime($time, new DateTimeZone(date_default_timezone_get()));
$dateTime->setTimeZone(new DateTimeZone('Europe/Moscow'));
echo $dateTime->format('H:i:s'); //ispisuje 00:25:48 (+ 4 sata)

Prosleđivanjem drugog argumenta konstruktoru DateTime inicijalizuješ vremensku zonu. Tu možeš da staviš npr. i 'GMT' (Greenwich Mean Time). To je ono što je falilo u ovom prvom primeru kojeg sam poslao...
 
Odgovor na temu

[es] :: PHP :: Vremenske Zone u PHP ??? Kako ???

Strane: 1 2

[ Pregleda: 3515 | Odgovora: 20 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.