Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Kaip parodyti lankytojui teisingą laiką?

Parašė tzar· 2009 Bir. 27 17:06:11
#1

Problema yra tokia:

Sakykim, duomenų bazėje saugau įrašų GMT laiką. Jeigu prisijungęs vartotojas (jis yra nustatęs savo laiko juostą) atkuria įrašus su jų parašymo GMT laiku iš duomenų bazės, reikia, kad jis matytų ne įrašo parašymo GMT laiką, o įrašo parašymo laiką jo zonos laiku.

Kaip aš suprantu, reikia funkcijos, kuriai padavus du kintamuosius (GMT laiką ir laiko zoną), ši grąžintų tai, ko reikia. Ačiū ozzWANTED už geranoriškumą ir ačiū už atsakymą.

Redagavo tzar· 2009 Bir. 27 17:06:45

Parašė ozzWANTED· 2009 Bir. 27 17:06:22
#2

Duom. bazėj saugok duomenis serverio time() formatu.
Datą rodysi nariams pasitelkęs fusion'e esančią showdate funkciją:
// Format the date & time accordingly
function showdate($format, $val) {
   global $settings;
   $return = strftime($format, $val+($user['offset']*3600));
   return $return;
   }
}





$val - int, dešimtženklis UNIX datos laikas, išsaugotas per time()/
$format - datos formatas - pvz. %y-%m-%d .

$user['offset'] - vartotojo pasirinkta laiko juosta, intervale -12 ---> +12

Parašė tzar· 2009 Bir. 27 18:06:16
#3

Veikia :] ! Nepapratai dėkoju už super-greitą ir teisingą atsakymą! Kas per palaima po pusdienio klaidžiojimų.
Tiesa, tik į funkcijos parametrus įtraukiau ir lankytojo laiko zoną.