2016-05-25 9 views
-1

私は複雑な時間間隔のチェックをしていますが、私は解決するのに苦労しています。ここに問題があります:複雑な時間間隔のチェック

私は受注のためにピックアップ時間を動的に計算する必要があります。 月曜日の午前10時01分から午前10時までのご注文は、金曜日にお届けいたします。水曜日の10:01から金曜日の午前10:00までの注文は、次の月曜日にお届けされます。 金曜日の午前10:01から月曜日の午前10:00までの受注は、水曜日の翌々日に で配信されます。私の以前のコードの

+0

あなたは二つの日付 –

+1

実際の質問は何の間の時間の差分を計算したいですか?何を試しましたか?私はあなたが立ち往生している部分を伝えることはできません。 –

+0

あなたには非常によく似た質問がありますhttp://stackoverflow.com/questions/37196603/delivery-days-in-cities-using-array-php – Richard

答えて

0

申し訳ありませんが()

私はPHPで働いているし、今カーボン::なりカーボン(http://carbon.nesbot.com/docs/)及び発注時間を使って。私はいくつかの欠陥を確認して見つけました。私はコードを書き直しました。ここではあなたのための完全かつ実用的なソリューションです。あなたは私が何をやったかを把握するための条件の上に見ることができます。

<?php 
    date_default_timezone_set('Asia/Karachi'); // set default timezone if needed 
    $time = new DateTime(); 
    $day = $time->format('l'); 
    $IntervalA = new DateTime('10:01'); 
    $IntervalB = new DateTime('10:00'); 

    // for friday delivery 
    if(in_array($day, array('Monday', 'Tuesday')) AND $time >= $IntervalA OR in_array($day, array('Wednesday')) AND $time <= $IntervalB) { 
     echo "The product will be delivered on Friday"; 
    } 

    // for monday delivery 
    if(in_array($day, array('Wednesday', 'Thursday')) AND $time >= $IntervalA OR in_array($day, array('Friday')) AND $time <= $IntervalB) { 
     echo "The product will be delivered on Monday"; 
    } 

    // for wednesday delivery 
    if(in_array($day, array('Friday', 'Saturday', 'Sunday')) AND $time >= $IntervalA OR in_array($day, array('Monday')) AND $time <= $IntervalB) { 
     echo "The product will be delivered on Wednesday"; 
    } 
+0

ありがとうrehmat!ソリューションは完全に動作します – RiaanZA

+0

@RiaanZAそれが働いたことを知ってうれしいです:) – Rehmat