Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: [PHP] Zeitzone berücksichtigen - Was mache ich falsch?

  Alt 7. Sep 2008, 15:25
Hi,

nein und ich habe soeben festgestellt, dass ich diese Differenz gar nicht benötige. Ich speichere die GMT-Zeit (ermittelt mit gmmktime()) und da genügt es, die Zeitzonen "aufzuaddieren":

Code:
function get_time_str($timestamp, $format, $user_timezone_offset)
{
   $new_timestamp = $timestamp + $user_timezone_offset;

   // MS Windows could not handle negative timestamps
   if ($new_timestamp < 0)
   {
      return 'never';
   }
   
   $summertime = date("I") * 60 * 60; // date("I") returns 1 if summertime is active, 0 if not

   return date($format, $new_timestamp - $summertime);
}
Das funktioniert soweit, nur wirft mir PHP im E_STRICT-Modus diese Fehler:

Code:
gmmktime() [[url='function.gmmktime']function.gmmktime[/url]]: You should be using the time() function instead

date() [[url='function.date']function.date[/url]]: It is not safe to rely on the system's timezone settings. Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead
Kann man dagegen etwas tun? Denn time() wäre ja wieder nur die Serverzeit und nicht GMT.

Grüße
  Mit Zitat antworten Zitat