如果客户在指定的日期范围内预订,我最初要求我分配特价时,我已经解决了客户的初始要求。
然而,他现在已经将要求扩展到多个日期范围,而且我对如何操纵我以前的工作代码感到茫然。
这是我之前用于1个日期范围的代码
2016-11-25 -----> 2017-01-02
2017-01-20 -----> 2017-02-06
2017-03-17 -----> 2017-03-27
2017-04-27 -----> 2017-05-04
2017-05-25 -----> 2017-05-31
现在我有多个日期范围
Dict1['Dates']
有谁能告诉我要采取的方向?
仅供参考,我实际上是一个CSS人,但有时需要做jQuery和PHP。
答案 0 :(得分:3)
这适用于任何您想要的范围。
$book_start_date = $start->format('d F Y');
$book_end_date = $end->format('d F Y');
$daterange_season = array(
array('2017-01-20', '2017-01-25'),
array('2017-01-29', '2017-02-15')
);
$daterange_booked = array($book_start_date, $book_end_date);
$start_book = new DateTime(min($daterange_booked));
$end_book = new DateTime(max($daterange_booked));
foreach($daterange_season as $singleRange){
$range_min = new DateTime(min($singleRange));
$range_max = new DateTime(max($singleRange));
if ( $start_book >= $range_min && $end_book <= $range_max ) {
// Apply special rate
break;
}
}