代码之家  ›  专栏  ›  技术社区  ›  jverdi

php中任意日期搜索数据库

  •  0
  • jverdi  · 技术社区  · 16 年前

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

    数据库包含一个消息表,其中的“date_created”字段表示为datetime。

    用户将接受的任意日期字符串的示例应与strotime接受的日期字符串相同。

    对于以下示例,搜索在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 回复  |  直到 16 年前
        1
  •  2
  •   St. John Johnson    16 年前

    尝试 strtotime 它非常善于正确地猜测日期。

    • “上周”
    • “下周”
    • “+ 15天”
    • “上星期二”
    • “10月31日”
    • 等。