Anfängerfrage zur Zeitfunktion
Peter
- php
0 steffen0 Vinzenz Mai0 steffen
0 wahsaga0 Vinzenz Mai
Hallo,
so jetzt traue ich mich auch mal mit einer absoluten Anfängerfrage...
Wollte einen kleinen Gimmick auf meiner Seite einbauen, für den ich die Zeitfunktion benötigte. Im Prinzip ganz banal, wenn der Besucher zwischen 20:00 Uhr und 4:00 Uhr eine Funktion aufruft soll er eine Nachricht angezeigt bekommen, wenn er zwischen 04:00 Uhr und 08:00 Uhr das gleiche macht eine andere Nachricht
und zwischen 8 und 20 Uhr wird nur die Uhrzeit angezeigt.
Was ich nicht hinbekomme ist der Vergleich.
Habe
$uhr=date('H:i:s');
um die aktuelle Zeit zu bekommen
aber wie schreibe ich dann die if Anweisung
if($uhr>20:00:00 && $uhr<04:00:00)
funktioniert nicht, da der Vergleichsoperator falsch formatiert ist...
Wäre nett wenn ihr mir kurz helfen könnt.
Möchte da nich zuviel Zeit investieren, da es wirklich nur ein kleiner Insider Gag ist. Wenn es nicht geht oder zu aufwendig ist, lasse ich es halt bleiben.
Danke und Grüße,
Peter
Ein string muss in "" sein. Demnach:
if($uhr>"20:00:00" && $uhr<"04:00:00")
mfg
Hallo Steffen,
Ein string muss in "" sein. Demnach:
<anmerkung type="haarespaltend">
Ein String kann in "" stehen, er kann aber auch in '' stehen :-)
</anmerkung>
if($uhr>"20:00:00" && $uhr<"04:00:00")
und wann ist diese Bedingung Deiner Meinung nach erfüllt?
Ich übersetze ein klein wenig frei:
Wenn etwas größer ist als 20 Uhr _und_ kleiner als 04 Uhr.
Glaub' mir: Zeichenkettenvergleiche wissen nichts vom 24-Stunden-Tag. *fg*
Freundliche Grüße
Vinzenz
Hi Vinzenz,
das hab ich mir gar nicht angeschaut *grins*. Das viel mir nur auf und mir war eigentlich klar, wieso das nicht gehen kann :P
Aber ich sehs ja ein *g*
LG steffen
hi,
Was ich nicht hinbekomme ist der Vergleich.
Habe
$uhr=date('H:i:s');
um die aktuelle Zeit zu bekommen
aber wie schreibe ich dann die if Anweisung
Du willst doch nur die Stunden vergleichen - warum nimmst du dann nicht auch nur die Stunden?
gruß,
wahsaga
Hallo Peter,
so jetzt traue ich mich auch mal mit einer absoluten Anfängerfrage...
so ganz anfängerhaft ist Deine Frage doch gar nicht. Warum solltest Du Dir das Fragen verkneifen?
wenn der Besucher zwischen 20:00 Uhr und 4:00 Uhr eine Funktion aufruft soll er eine Nachricht angezeigt bekommen, wenn er zwischen 04:00 Uhr und 08:00 Uhr das gleiche macht eine andere Nachricht
und zwischen 8 und 20 Uhr wird nur die Uhrzeit angezeigt.
Was ist also für die Bestimmung der Ausgabe relevant? Richtig, nur der Stundenanteil, also besorge Dir diesen. Das solltest Du einfach hinbekommen.
Nächster Punkt: Die Rückgabe ist eine Zeichenkette. Vergleiche von Zeichenketten sind etwas von Vergleichen von Zahlen verschieden. Doch da Du führende Nullen hast, stellt das kein Problem dar:
if($uhr>20 && $uhr<04)
Zeichenketten sind in Anführungszeichen einzuschließen, dazu ist hier der logische Verknüpfungsoperator falsch gewählt.
In Pseudocode
Wenn der Stundenwert mindestens '20' beträgt oder kleiner ist als '04'
Gebe Nachtmeldung aus
Sonst Wenn der Stundenwert kleiner ist als '08'
Gebe die Morgenmeldung aus
Sonst
Gebe die Tagmeldung aus
Ende Wenn
Wenn Du es hinbekommst
Gib eine freundliche Rückmeldung
Sonst
Frage nochmals nach
Ende Wenn
Freundliche Grüße und viel Erfolg!
Vinzenz