Operacje na godzinach


(northwest) #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) #2

wymaga załadowania skryptu jquery i cookies.

...a na końcu dorzuć ?>


(northwest) #3

wiem, to jest wycinek kodu :slight_smile:

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) #4
  1. 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ć :wink:

  1. 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