Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
[PHP5] Probleme mit date() und zweiten Parameter [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
[PHP5] Probleme mit date() und zweiten Parameter


 
stf]Daywalker
08-05-2006, 14:39 
 
Ich habe seit PHP 5.1 Probleme mit folgender Funktion:
function datum($time)
{
$gestern_start = mktime(0, 0, 0, date("m", time()-3600*24), date("d", time()-3600*24), date("y", time()-3600*24));
$gestern_ende = mktime(23, 59, 59, date("m", time()-3600*24), date("d", time()-3600*24), date("y", time()-3600*24));
$heute_start = mktime(0, 0, 0, date("m", time()), date("d", time()), date("y", time()));
$heute_ende = mktime(23, 59, 59, date("m", time()), date("d", time()), date("y", time()));
if ($time > $heute_start AND $time < $heute_ende) {
return "Heute, ".date("H:i", $time);
}
elseif($time > $gestern_start AND $time < $gestern_ende) {
return "Gestern, ".date("H:i", $time);
}
else {
return date("d.m.Y, H:i", $time);
}
}

PHP Version 5.0.5 tuts noch, aber seit 5.1 gibts wie gesagt Probleme...

Es kommt folgende Fehlermeldung:
date() [function.date]: 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

Also mir ist klar das es am zweiten Parameter der date() funktion liegt... weil es eben nicht time(), also aktuell sondern ein älterer Timestamp ist.
Habe dann natürlich sofort date_default_timezone_set() ausprobiert, ist bei mir aber blöderweise ne unkown function.

Jetzt ist die Frage wie löse ich das Problem? Kann mir wer helfen?
Abgesehen davon ist diese neue Einstellung ziemlich nutzlos...

LG Chris

 
wahsaga
08-05-2006, 14:43 
 
Komisch, dass es die Funktion nicht geben soll ...

Dann versuch doch mal, date.timezone (http://www.php.net/manual/en/ref.datetime.php#ini.date.timezone) direkt in der Konfiguration irgendwo zu setzen.

 
stf]Daywalker
08-05-2006, 15:10 
 
Mal wieder mein Fehler... war so blöde und habs nur auf meinem apache getestet mit der funktion, da ist php vers 5.0.5 drauf... deswegen gibts die da natürlich nicht...

# Timezone falls PHP Version >= 5.1 #
if (PHP_VERSION >= "5.1") {
date_default_timezone_set("Europe/Berlin");
}

Funktioniert das so für alle versionen >= 5.1? Mit Version 5.1.2 klappts, aber das heisst ja nicht das es immer geht :)

Vielen dank, du warst der anreiz das ganze doch nochmal zu prüfen :)

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:50 Uhr.