【问题标题】:reservation/waiting list wicked algorithm php/mysql预订/等候名单邪恶算法 php/mysql
【发布时间】:2014-03-21 20:43:47
【问题描述】:

我在为带有等候名单的预订类型系统设计算法时遇到问题。

在任何给定时间都可以有 3 个有效时段,每个时段持续一个月,之后它们将被列入等候名单。我希望能够插入项目从等待状态变为活动状态的日期。

我知道三个有效的日期($date1、$date2、$date3)并且可以轻松检索它们。

我需要的是一个函数,它会在每次调用时根据以下模式计算激活日期:

理想情况下,候补名单上的开始日期列应如下所示:

  1. $date1
  2. $date2
  3. $date3
  4. $date1 + 1 个月
  5. $date2 + 1 个月
  6. $date3 + 1 个月
  7. $date1 + 2 个月
  8. $date2 + 2 个月
  9. $date3 + 2 个月
  10. $date1 + 3 个月
  11. $date2 + 3 个月
  12. $date3 + 3 个月
  13. $date1 + 4 个月等..

任何帮助/想法将不胜感激 - 我完全被困住了!

【问题讨论】:

标签: php mysql


【解决方案1】:

看看strtotime

$nextMonth = strtotime('+1 month', $unixTimeStampOfDate);

// or to create a list
$dates = array(strtotime('2014-03-21'), strtotime('2014-03-25'), strtotime('2014-03-30')); 
for($i = 0; $i < 10; $i++) { 
    foreach($dates as $date) {
        echo date('Y-m-d', strtotime('+' . $i . ' month', $date)); 
        echo '<br/>'; 
    }
}

【讨论】:

  • 我不太担心时间计算,我想不通的是如何构造方法,所以它给了我上面的结构。不过谢谢!
猜你喜欢
  • 2010-10-31
  • 2010-10-11
  • 1970-01-01
  • 2012-11-02
  • 2010-10-02
  • 2016-11-18
  • 2011-01-02
  • 1970-01-01
相关资源
最近更新 更多