お客様が最初に特定の日付範囲内で予約した場合、特別料金を割り当てるよう依頼したときにクライアントの初期要件を解決しました。PHP:予約された日付が指定された日付の範囲内にあるかどうかを調べる
しかし、彼は今では複数の日付範囲に要件を拡張しています。私はこれまでに行っていた作業コードをどのように操作するかについて愚かなままでした。
ここで私は1つの日付範囲
$book_start_date = $start->format('d F Y');
$book_end_date = $end->format('d F Y');
$daterange_season = array('2017-01-20', '2017-02-15');
/* 20 January 2017 - 15 February 2017 : Peak Season */
$daterange_booked = array($book_start_date, $book_end_date);
$range_min = new DateTime(min($daterange_season));
$range_max = new DateTime(max($daterange_season));
$start_book = new DateTime(min($daterange_booked));
$end_book = new DateTime(max($daterange_booked));
if ($start_book >= $range_min && $end_book <= $range_max) {
// Apply special rate
}
のために以前に使用したコードだ今、私は、複数の日付が
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
の範囲持っている誰も私に取る方向を示すことはできますか?
実際、CSSの担当者ですが、実際にはjQueryとPHPを実行する必要があります。
現在使用しているコードに問題がありますか?それは論理的に正しいと思われる。 – Maximus2012
元のコードごとに1シーズンだけでなく、より多くのシーズン/日付範囲をリストする必要があります。そして、各範囲の開始日と終了日をペアにする方法がわかりません –
範囲定義とそれをループするために多次元配列を使用し、適切な日付が含まれている場合はすべての範囲をチェックしてください。 – rafwlaz