【问题标题】:Cross Referencing Date Ranges for mulitple Entries多个条目的交叉引用日期范围
【发布时间】:2011-09-08 11:12:20
【问题描述】:

我正在使用 Codeigniter 构建应用程序并遇到以下问题:

该应用程序允许用户输入多个日期范围,每个日期范围都有开始和结束日期,即 06-10-2011 到 06-14-2011。

我想交叉引用这些日期范围,以找到至少对两个用户存在的日期范围。问题是他们不需要严格的开始或结束日期。

基本上,如果每个用户输入 1 个日期范围,类似于:

用户 1:2011 年 6 月 10 日 - 2011 年 6 月 15 日 用户 2:2011 年 6 月 11 日 - 2011 年 6 月 14 日 用户 3:06/12/2011 - 06/16/2011

那么结果就是:

常见:06/12/2011 - 06/14/2011

任何帮助都会很棒!附:我将 Codeigniter 与 OverZealous Datamapper 一起使用。

【问题讨论】:

    标签: php mysql codeigniter date


    【解决方案1】:

    当我们可以假设您没有引用 long 范围时,您可以迭代每个范围的天数,并将日期用作哈希表的键。该哈希表存储用户的哈希集(或列表,如果您确定用户不能有重叠范围)。如果日期不在表中,则为此日期创建一个新集,并插入(附加)与当前时间范围关联的用户。如果日期在表中,只需插入(追加)用户...

    在处理完所有范围后,迭代整个表并将您的用户总数与哈希集(或列表)的长度进行比较

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-06
      • 2010-11-26
      • 2016-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多