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