tag/nacht header

Mailgrube

Well-known member
ID: 4980
L
1 Juni 2006
244
19
ich finde leider nirgens eine Lösung für mein Problem. Hoffentlich könnt ihr mir helfen.

von 20 - 6 uhr soll der nacht-header gezeigt werden, die restzeit soll der tag-header gezeigt werden.

bekomme es nur hin per zufall

liebe grüße
 
date() ;)

edit:
Wenn du Smarty als Template-Engine verwendest, kannst du das ganz ohne PHP lösen.
 
Ich habs damals mal so gelöst

Code:
$time = date("Gis");

$min ="220000";
$max ="060000";

if(($time > $min) ||  ($time < $max)){
echo "Nacht";
}
else{

echo"Tag";

}
 
Gefährlich 8O

Besser du nimmst nur die Stunden, dann hast du echte Zahlen.
 
Wegen der komischen Umwandlung von Uhrzeit auf Integer (die da implizit drinsteckt). Ich mein, hier kann im Normallfall nix schiefgehen, aber ich würde trotzdem keine solchen Spielchen machen.

Beispiel mit der konstruierten Uhrzeit 6:70 Uhr (gut, die Uhrzeit gibts ned, aber mit mktime() krieg ich z.B. ordentliche Ergebnisse), die ich mit 7:00 Uhr vergleiche:
"067000" -> 67.000 < 70.000 <- "070000" - falsch

Hoffe, die Botschaft kommt rüber. Ich würde den Code so verbessern:
PHP:
$hour = date("G"); // als Integer verwenden

$min = 22;
$max = 6;

if(($hour > $min) ||  ($hour < $max)) { // keine Typumwandlung
Nennt mich altmodisch, aber ich achte drauf, welchen Typ meine Variable hat und nimm einen String nur dann als Integer, wenn da wirklich ne Zahl drinsteht. Und die Konkatenation von 3 Zahlen is für mich keine Zahl mehr.
 
Zuletzt bearbeitet:
Nennt mich altmodisch, aber ich achte drauf, welchen Typ meine Variable hat und nimm einen String nur dann als Integer, wenn da wirklich ne Zahl drinsteht. Und die Konkatenation von 3 Zahlen is für mich keine Zahl mehr.
Achso, unter dem Aspekt meinst Du das. Hatte mich halt bloss gewundert, weil wirklich gefährlich ist das ja nicht. Und die fehlende Typsicherheit muss einem in der Tat halt einfach bewusst sein.