在PHP中按任意日期搜索数据库

时间:2010-03-21 22:42:39

标签: php datetime parsing strtotime date-parsing

假设您有一个用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,但变量数量增长很快。我想知道我是否正在重新发明轮子。

有没有人有一个建议,既可以作为一般解决方案,也可以捕获大部分可能的输入字符串?

1 个答案:

答案 0 :(得分:2)

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

  • “上周”
  • “下周”
  • “+ 15天”
  • “上周二”
  • “10月31日”