php 时间 拼接,php – 组合/合并日期范围的算法

博主正在寻找一种有效的方法来合并数据库中的连续和重叠日期范围。提供的数据是一个包含多个数组元素的数组,每个元素都有开始和结束日期。目标是将这些日期范围合并成一个新的数组,其中连续或重叠的日期被整合到一起。博主询问了通过MySQL数据库操作还是PHP编码实现会更优,并请求建议。更新说明应该合并任何连续或重叠的日期范围。
摘要由CSDN通过智能技术生成

我试图找到如何将日期范围合并到一个数据库记录(数组元素)的最佳方法.

这是我的数据:

Array

(

[0] => Array

(

[id] => 18298

[start_date] => 2011-07-09

[end_date] => 2011-10-01

)

[1] => Array

(

[id] => 18297

[start_date] => 2011-06-01

[end_date] => 2011-06-30

)

[2] => Array

(

[id] => 17113

[start_date] => 2011-03-31

[end_date] => 2011-05-31

)

[3] => Array

(

[id] => 20555

[start_date] => 2011-01-03

[end_date] => 2011-03-31

)

)

在我们组合它们之后,数组(或数据库)应如下所示:

Array

(

[0] => Array

(

[merged_ids] => 18298

[start_date] => 2011-07-09

[end_date] => 2011-10-01

)

[1] => Array

(

[merged_ids] => 18297, 17113, 20555

[start_date] => 2011-01-03

[end_date] => 2011-06-30

)

)

是否有任何算法可以遍历所有元素/范围并将它们组合起来?哪种方式更好/更容易 – 通过数据库(MYSQL)或编码(PHP)?

任何建议都非常感谢.

谢谢!

更新:对不起,我没有提供足够的信息:我们应该合并任何连续和重叠的日期范围.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值