php tag
Brunfi
- php
Hallo,
ich habe ein Datum in folgendem format: 20100327
wenn ich jetzt diese Funktion anwende
date("w","20100327")
dann kommt nicht das gewünschte Ergebnis 6, sondern 5
Was mache ich falsch?
Vielen Dank für Eure Hilfe
Hello,
ich habe ein Datum in folgendem format: 20100327
wenn ich jetzt diese Funktion anwende
date("w","20100327")
dann kommt nicht das gewünschte Ergebnis 6, sondern 5
Was mache ich falsch?
Laut Handbuch soll das zweite Funktionsargument ein Integer sein, der den Unix-Timestamp repräsentiert. Dass hier ein String angenommen wurde, liegt sicherlich an der automatischen Typumwandlung von PHP und/oder dass das in der Funktion nicht sauber geprüft wird...
Schau Dir mal die Funktion strtotime() an http://de3.php.net/manual/en/function.strtotime.php
Mit deren Hilfe könntest Du aus Deinem ANSI-Datum erstmal einen Timestamp machen und den dann wieder in date() einsetzen.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
vielen Dank, Tom!
funktioniert einwandfrei!
viele Grüße
Brunfi
Hi Tom!
Das fand ich richtig schön anschaulich - ich finde es sehr gut, wie sehr Du Dich hier reinhängst und so vielen Leuten konstruktiv Hilfe leistest.
Woher nimmst Du nur, neben der Arbeit, die Zeit hier so aktiv zu sein?
Die Frage geht auch an andere 'Stammposter': wie macht ihr das?
Ich schaue hier häufig (fast täglich) vorbei, aber schreibe selten eine Antwort, weil mir oft die Zeit dazu fehlt.
off:PP
Hello,
das ist alles nur Anti-Alzheimer-Training
Manchmal werden die Lücken dann aber leider größer
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Hallo,
Woher nimmst Du nur, neben der Arbeit, die Zeit hier so aktiv zu sein?
Die Frage geht auch an andere 'Stammposter': wie macht ihr das?
das ist eigentlich ganz einfach. Bei mir ist der Übergang zwischen Beruf und Hobby fließend, es gibt sogar eine nicht zu vernachlässigende, nicht scharf abgrenzbare Schnittmenge. Beides bedingt eine nicht unerhebliche Zeit am PC. Und das Forum in einem Browserfenster im Hintergrund zu haben, ab und zu mal zu aktualisieren und hier und da mal eine Viertelstunde dafür zu investieren, ist kaum ein Aufwand.
Ich schaue hier häufig (fast täglich) vorbei, aber schreibe selten eine Antwort, weil mir oft die Zeit dazu fehlt.
Oh je ... keine Zeit zu haben, ist eine der ernstesten Krankheiten unserer Zeit.
Schönes Wochenende,
Martin
Hallo Brunfi,
ich habe ein Datum in folgendem format: 20100327
wenn ich jetzt diese Funktion anwende
date("w","20100327")
mit 20100327 meinst du vermutlich den 27. März 2010, oder? Der zweite Parameter erwartet bei date() aber einen Unix-Timestamp, also die Anzahl der Sekunden die seit dem 1.1.1970 vergangen sind. Um aus deinem Datumsformat einen Timestamp zu machen, kannst du entweder das Datum auftrennen und mit mktime() einen Timestamp draus machen oder du verwendest strtotime(), die Funktion erkennt dein Datumsformat auch ohne weitere Umwandlungen.
dann kommt nicht das gewünschte Ergebnis 6, sondern 5
PHP denkt eben, dass du den Timestamp 20100327 meinst und der gehört eben zum 21. August 1970 und da das ein Freitag war bekommst du eben eine 5 ausgegeben.
Grüß,
Tobias