northwest
(northwest)
4 Październik 2008 11:02
#1
Witam,
Mam taki kod:
<?
$wartosc_z_bazy = "2008-10-04 10:33:34";
$poprawny_czas = date('Y-m-d H:i:s', strtotime($wartosc_z_bazy)+ ($_COOKIE[timeszone]));
Zmienna wartosc_z_bazy zawiera datę i godzinę pobraną z bazy danych w formacie GMT. Chciałbym teraz to zamienić na
czas użytkownika. Ciasteczko $_COOKIE[timeszone] zawiera informację o różnicy w minutach od czasu GMT do czasu usera
(tak przynajmniej wyczytałem). Czyli przykładowo: 120,160,180… -120, -160, -180…
W zmiennej poprawny_czas chciałbym zapisać poprawny czas (czyli np. czas_z_bazy +/- liczba_minut_z_cookie).
Ten kod który mam coś nie do końca działa… Wiecie może dlaczego??
Northwest
adpawl
(adpawl)
4 Październik 2008 13:53
#2
wymaga załadowania skryptu jquery i cookies.
…a na końcu dorzuć ?>
northwest
(northwest)
4 Październik 2008 15:06
#3
wiem, to jest wycinek kodu
zrobiłem coś takiego:
$poprawny_czas =date( ‘Y-m-d H:i:s’, strtotime( $wartosc_z_bazy)- ($_COOKIE[timeszone])*60);
czy taki zapis będzie bezpieczny dla dodatnich/ujemnych/zerowych timezonow??
da się może jakoś łatwiej przekazać tą wartość -120 (to co mam teraz w cookie timezone) niż przez cookie do php - bo teraz muszę przeładować stronę żeby była możliwość obliczania, a fajnie by było gdyby dało się od razu:)
adpawl
(adpawl)
4 Październik 2008 22:03
#4
co do zapisu - $_COOKIE[timeszone] faktycznie zawiera wartość +/- w sekundach więc na minuty, to *60 -to jest ok.
-pamietaj o podstawowej zasadzie z matematyki: plus i minus daje minus, a 2 minusy w sumie dają plus
…czyli raczej doadawać wartość tego cookie niż ją odejmować
Mozęsz całość napisać w php i nie będziesz się musiał przejmować przekazywaniem wartości między php i js
…możesz też wartości przekazywać getem …skoro używasz już jquery to: http://docs.jquery.com/Ajax