asd
Ankündigung
Einklappen
Keine Ankündigung bisher.
Prüfen, ob Datum in der Zukunft oder Vergangenheit liegt
Einklappen
Neue Werbung 2019
Einklappen
X
-
-
Du musst das Datum (z.B. 24.9.2011) erst ins normierte Format bringen (2010-24-09), dann kannst du es strtotime() übergeben (oder alternativ direkt an mktime()). Das Ergebnis ist in beiden Fällen ein Unix-Zeitstempel (Sekunden seit 1970). time() liefert dir den Unix-Zeitstempel von "jetzt". Der Rest ist ein simpler Vergleich.
Kommentar
-
-
Ich suche ständig nach Vereinfachungen und finde diese natürlich sehr interessant, jedoch läßt mich folgendes dann doch zweifeln:Zitat von fab Beitrag anzeigenstrtotime nimmt fast alles was nach Datum oder Zeitangabe aussieht. Deshalb ist es auch immer wieder eine Unverschämtheit wenn Online-Formulare ein bestimmtes Format bei der Eingabe erzwingen wollen ("Bitte geben Sie hier ihr Geburtstdatum im Format DD-MM-YYYY ein")
Ausgabe:PHP-Code:$zeiten = array('10.7.2011','10/7/2011','10-07-2011','07/10/2011');
foreach ($zeiten as $zeit) {
echo strtotime($zeit)."<br>";
}
1310248800
1317938400
1310248800
1310248800
Sieht so aus, als würden die Amis mal wieder alles durcheinander bringen, oder?!
Kommentar
-
Warum, sieht doch korrekt aus.. 3 mal der 10.07.2011 (1310248800), das zweite Datum ist der 07.10.2011 (1317938400).Zitat von drsoong Beitrag anzeigenIch suche ständig nach Vereinfachungen und finde diese natürlich sehr interessant, jedoch läßt mich folgendes dann doch zweifeln:
Ausgabe:PHP-Code:$zeiten = array('10.7.2011','10/7/2011','10-07-2011','07/10/2011');
foreach ($zeiten as $zeit) {
echo strtotime($zeit)."<br>";
}
1310248800
1317938400
1310248800
1310248800
Sieht so aus, als würden die Amis mal wieder alles durcheinander bringen, oder?!
'10/7/2011' lässt sich nunmal nicht von '07/10/2011' unterscheiden, was die Notation angeht und man kann es auch nicht aus den Zahlen ablesen, was Monat und was Tag sein soll.
Kommentar
-
Ja, äh, und mit diesen Ungenauigkeiten lebst Du dann einfach, oder wat? Jonny English gibt 07/10/2011 (der hat nämlich am 7. Okt. Geburtstag) und Peter Müller 10.07.2011 ein und Deine Anwendung gratuliert beiden am selben Tag zum Geburtstag. Müßte man da nicht dann doch vielleicht ein Format vorgeben.Warum, sieht doch korrekt aus.. 3 mal der 10.07.2011 (1310248800), das zweite Datum ist der 07.10.2011 (1317938400).
'10/7/2011' lässt sich nunmal nicht von '07/10/2011' unterscheiden, was die Notation angeht und man kann es auch nicht aus den Zahlen ablesen, was Monat und was Tag sein soll.
Kommentar
-
Wenn dir niemand sagt, welches Format der 07/10/2011 ist (engl. DD/MM/YYYY oder amer. MM/DD/YYYY) hast du gelitten. Dafür gibt es keine Lösung... ich kanns auch nicht ändern, das sich Amis und Briten da nicht einig sein können...
Daher wird es weiterhin auf Webseiten oder sonstwo die (berechtigte) Forderung geben:
Ich muss mich real mit solchen Fällen rumschlagen, ich bekomme CSV Dateien, wo ein Datumsfeld schonmal mit 4 unterschiedlichen Formaten belegt sein kann, weil die Maske manuell erfasst wird und das unterliegende System ein Freifeld für das Datum definiert... da gibts dann Fälle, da kann man wirklich nur noch raten."Bitte geben Sie hier ihr Geburtstdatum im Format DD-MM-YYYY ein")
Um das zu beantworten: JA, ich lebe damit, gezwungenermaßen (weil man nicht "mal eben" ein Datenfile mit 20.000 manuell erfassten Daten aus einem Callcenter überarbeitet oder zur Überarbeitung zurück schickt... die würden mich fragen, ob ich noch sauber ticke).
Schön finde ich das natürlich nicht...
Kommentar
-
Ich bau immer drei Selektboxen und gebe beim Monat gleich die Monatsnamen aus. So kriege ich im Script auch gleich die Einzelteile für checkdate(), die ich nach erfolgreicher Prüfung zu jjjj-mm-tt zusammenbaue.
Kommentar
-
Naja, das Argument lasse ich gelten, ich finde es aber nach wie vor eine Zumutung wie das teilweise praktiziert wird. Da wird gemeckert wenn keine führende Null davorsteht und solche Dinge... abgesehen davon, auch da ich weiß wie ignorant User sein können, sind drei einzelne Eingabefelder oder eben Select-Boxen IMHO ohnehin das beste Mittel
Kommentar
-
Ich finde ein einfaches Eingabefeld das komfortabelste. Daneben ein Hint mit eindeutigem Beispiel:
Wenn die Eingabe klar geregelt ist, kann man auch den Komfort der Normalisierung übernehmen, finde ich. Am besten vor einem evtl. nötigen weiteren Affenform-Durchlauf als direktes Feedback.Code:Datum: [ ] z.B. 31.07.2011 oder 31.7.11
Datepicker empfinde ich immer als Fremdkörper, allerdings sind sie eine gute Ergänzung für „meine“ Lösung.
3-fach-Select geht imho gar nicht. schon wei copy and paste nicht funktioniert.
Kommentar

Kommentar