Datum vergleichen
sakina
- php
0 Felix Riesterer0 steckl0 sakina
0 MudGuard0 sakina0 Andreas Görtz0 MudGuard
0 sakina
hello,
ich will den Tag in der Variable $date, wo der Datum drin steht vergleichen, ob es der 2. Tag im Monat ist und zwar habe ich das so ausprobiert:
if(date("d", $date) == 02)
{
....
}
es funktioniert, aber nicht
der Montag im Juni dieses Jahr ist der 2. Tag und ich hab extra "print date("d", $date);" versucht, es wird 02 ausgegeben, aber die if Bedingung geht nicht
könntet Ihr mir bitte helfen...
danke im voraus
Liebe sakina,
ich will den Tag in der Variable $date, wo der Datum drin steht vergleichen,
was _genau_ steht denn in $date? Es muss ein gültiger Timestamp sein...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Liebe sakina,
ich will den Tag in der Variable $date, wo der Datum drin steht vergleichen,
was _genau_ steht denn in $date? Es muss ein gültiger Timestamp sein...
Liebe Grüße aus Ellwangen,
Felix Riesterer.
ist ein gültiger timestamp, das mache ich schon vor der if Bedingung
$date = mktime ( 2, 0, 0, date ( "m" ), date ( "d" ), date ( "Y" ) );
Hallo,
ist ein gültiger timestamp, das mache ich schon vor der if Bedingung
$date = mktime ( 2, 0, 0, date ( "m" ), date ( "d" ), date ( "Y" ) );
ich glaub Felix wollte eher wissen ob du $date mal ausgegeben hast um sicher zu gehn, dass das drin steht was soll.
Grüße, Matze
ich glaub Felix wollte eher wissen ob du $date mal ausgegeben hast um sicher zu gehn, dass das drin steht was soll.
Grüße, Matze
Ja habe ich, ist pikopello :)
mfg,
sakina
Hi,
if(date("d", $date) == 02)
der Montag im Juni dieses Jahr ist der 2. Tag und ich hab extra "print date("d", $date);" versucht, es wird 02 ausgegeben, aber die if Bedingung geht nicht
Kann es sein, dass es sich um einen String und nicht um eine Zahl handelt? Zahlen werden normal ohne führende 0 dargestellt.
Versuch mal "02" statt 02.
mfG,
steckl
Hi,
if(date("d", $date) == 02)
der Montag im Juni dieses Jahr ist der 2. Tag und ich hab extra "print date("d", $date);" versucht, es wird 02 ausgegeben, aber die if Bedingung geht nicht
Kann es sein, dass es sich um einen String und nicht um eine Zahl handelt? Zahlen werden normal ohne führende 0 dargestellt.
Versuch mal "02" statt 02.mfG,
steckl
hab ich schon ausprobiert ging nicht :(
trotzdem Danke :)
LG
sakina
Hi,
if(date("d", $date) == 02)
date("d", $date) liefert einen String mit 2 Ziffern (die erste ist ggf. ne 0).
02 ist die Oktaldarstellung der Zahl 2.
Wenn Du einen String mit einer Zahl (in Deinem Fall 2) vergleichst, wird die Zahl in einen String umgewandelt, aus der Zahl 2 wird der String "2".
"02" ist nicht gleich "2", also ist die Bedingung falsch.
cu,
Andreas
ich probier das mal aus
Danke,
lg,
sakina
Hi Mudguard,
date("d", $date) liefert einen String mit 2 Ziffern (die erste ist ggf. ne 0).
02 ist die Oktaldarstellung der Zahl 2.
Wenn Du einen String mit einer Zahl (in Deinem Fall 2) vergleichst, wird die Zahl in einen String umgewandelt, aus der Zahl 2 wird der String "2".
das stimmt so nicht, das Gegenteil ist der Fall: der (numerische) String wird zu einer Zahl konvertiert. Siehe auch PHP: Comparison Operators, wo es heißt: "If you compare an integer with a string, the string is converted to a number. If you compare two numerical strings, they are compared as integers.". Z.B.:
ag@bart:~$ php -r 'var_dump("02" == 02);'
bool(true)
Darüber hinaus ist dein Hinweis, dass 02 eine Oktalschreibweise ist, richtig und insbesondere wichtig für den OP, da dadurch z.B. bei Tag 8 auch die automatische Konvertierung des Strings nicht mehr weiterhilft:
ag@bart:~$ php -r 'var_dump("08" == 08);'
bool(false)
Gruß,
Andreas.
Hi,
das stimmt so nicht, das Gegenteil ist der Fall: der (numerische) String wird zu einer Zahl konvertiert.
Vergibst Du mir, unter Berücksichtigung der Tatsache, daß das Posting ca. 11 Stunden vor Anmeldung im Krankenhaus und ca. 14 Stunden vor einer Operation an mir entstanden ist?
Da war ich wohl schon leicht aufgeregt und hab das durcheinandergeschmissen.
cu,
Andreas
Hi Andreas,
Vergibst Du mir, unter Berücksichtigung der Tatsache, daß das Posting ca. 11 Stunden vor Anmeldung im Krankenhaus und ca. 14 Stunden vor einer Operation an mir entstanden ist?
wenn du das Posting während der Operation an dir verfasst hättest... *g*
Aber Spaß beiseite:
Gruß,
Andreas.
Hi,
wenn du das Posting während der Operation an dir verfasst hättest... *g*
Die haben mir nicht erlaubt, den Laptop mit in den OP zu nehmen ...
- steht es mir nicht zu, dir irgendwas zu vergeben
doch.
- gibt es hier nichts zu vergeben
doch.
- stünde es mir zu und gäbe es was zu vergeben, täte ich es :)
gut.
- ich wollte nur den Fehler nicht so stehenlassen
gut.
- ich wünsche dir in jedem Fall gute Besserung!
Danke! Geht schon wieder ganz gut (solange ich keine Hose mit festem Bund anziehe, das drückt auf den Schnitt).
cu,
Andreas
hello,
ich will den Tag in der Variable $date, wo der Datum drin steht vergleichen, ob es der 2. Tag im Monat ist und zwar habe ich das so ausprobiert:
if(date("d", $date) == 02)
{
....
}es funktioniert, aber nicht
der Montag im Juni dieses Jahr ist der 2. Tag und ich hab extra "print date("d", $date);" versucht, es wird 02 ausgegeben, aber die if Bedingung geht nicht
könntet Ihr mir bitte helfen...
danke im voraus
es geht beides, also auch == 02 oder nur 2, mein fehler war das ich schon vorher in einer funktion in Funktion.inc, die gleiche abfrage gemacht habe. somit war es nie möglich, dass der 2. Tag in der variable $date drin war.
Danke, Danke für eure Hilfe, ein sehr groseß DANKESCHÖN :)
mfg,
Sakina