Frage

Angenommen, Sie haben ein Messaging -System in PHP mit einem Backend der MySQL -Datenbank integriert und möchten die Suche nach Nachrichten mit beliebigen Datumszeichenfolgen unterstützen.

Die Datenbank enthält eine Meldungstabelle mit einem Feld 'Date_Created', das als DateTime dargestellt wird.

Beispiele für die willkürlichen Datumszeichenfolgen, die vom Benutzer akzeptiert würden, sollten die von Strtotime akzeptierten.

Für die folgenden Beispiele, die am 21. März 2010 durchgeführt wurden:

"26. Januar 2009" würde alle Nachrichten zwischen 2009-01-26 00:00:00:00 und 2009-01-27 00:00:00 Uhr zurückgeben
"8. März" würde alle Nachrichten zwischen 2010-03-08 00:00:00 und 2010-01-26 00:00:00 zurückgeben
"Letzte Woche" würde alle Nachrichten zwischen 2010-03-14 00:00:00 und 2010-03-21 018: 25: 00 zurückgeben
"2008" würde alle Nachrichten zwischen 2008-01-01 00:00:00 und 2008-12-31 00:00:00 zurückgeben

Ich begann mit Date_Parse zu arbeiten, aber die Anzahl der Variablen wuchs schnell. Ich frage mich, ob ich das Rad neu erfindet.

Hat jemand einen Vorschlag, der entweder als allgemeine Lösung oder als eine, die die meisten möglichen Eingangszeichenfolge erfasst?

War es hilfreich?

Lösung

Versuchen strtotime Es ist sehr gut darin, Daten richtig zu erraten.

  • "Letzte Woche"
  • "Nächste Woche"
  • "+15 Tage"
  • "Am vergangenen Dienstag"
  • "31. Oktober"
  • usw.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top