0

假设您有一个用 PHP 构建的带有 MySQL 数据库后端的消息传递系统,并且您希望支持使用任意日期字符串搜索消息。

该数据库包括一个消息表,其中“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,但变量的数量增长很快。我想知道我是否在重新发明轮子。

有没有人提出可以作为通用解决方案或可以捕获大多数可能输入字符串的建议?

4

1 回答 1

2

尝试strtotime 它非常擅长正确猜测日期。

  • “上周”
  • “下周”
  • “+15 天”
  • “上个星期二”
  • 《10 月 31 日》
  • 等等
于 2010-03-21T22:45:53.553 回答