質問

MySQLデータベースバックエンドを備えたPHPに組み込まれたメッセージングシステムがあり、任意の日付文字列を使用したメッセージの検索をサポートするとします。

データベースには、DateTimeとして表される「date_created」フィールドを備えたメッセージテーブルが含まれています。

ユーザーが受け入れる任意の日付文字列の例は、strtotimeで受け入れられた文字列を反映する必要があります。

次の例では、2010年3月21日に実行された検索:

「2009年1月26日」は、2009-01-26 00:00:00と2009-01-27 00:00:00の間にすべてのメッセージを返します
「3月8日」は2010-03-08 00:00:00と2010-01-26 00:00:00の間にすべてのメッセージを返します
「先週」は2010-03-14 00:00:00と2010-03-21 018:25:00の間にすべてのメッセージを返します
「2008」は2008-01-01 00:00:00から2008-12-31 00:00:00の間にすべてのメッセージを返します

Date_Parseで作業を始めましたが、変数の数は急速に増加しました。車輪を再発明しているのだろうか。

一般的な解決策として機能する提案や、可能な入力文字列のほとんどをキャプチャする提案はありますか?

役に立ちましたか?

解決

試す strtotime 日付を正しく推測するのが非常に得意です。

  • "先週"
  • "次の週"
  • 「+15日」
  • 「先週の火曜日」
  • 「10月31日」
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top