2016-09-15 1 views
1

Ich hole Daten von der API, die einige API-Daten für die Tage der Wochen hat und die Daten in der HTML-Tabelle abrufe, ich hole Daten für jeden Tag in einer Spalte als Mittwoch in eine Spalte, Donnerstag in 1 Spalte, ... bis Mittwoch nächster Woche.Entfernen Sie Wochenenden in php strtotime()

Es zeigt die Samstage und Sonntage dazwischen, aber ich möchte sie entfernen. Unten ist mein Code:

$fromDate = (isset($_POST['fromDate'])) ? $_POST['fromDate'] : date("Y-m-d"); 
$toDate = date("Y-m-d", strtotime("+1 week", strtotime($fromDate))); 

Ich denke, etwas in (1 Woche) Linie bearbeitet werden muss, aber ich bin nicht in der Lage, es zu tun.

+0

Werfen Sie einen Blick auf http://php.net/manual/en /function.date.php - das 'N' Argument gibt Ihnen einen numerischen Wert für den Wochentag. Überspringe die richtigen. – ceejayoz

Antwort

0

Dieser Ausschnitt wird für insgesamt 8 Tage ($fromDate auf den gleichen Tag in der darauf folgenden Woche durchlaufen und behalten nur die Wochentage

$fromDate=date("Y-m-d"); 
for($x=0; $x<8; ++$x){ 
    $date=date("Y-m-d",strtotime("$fromDate +$x day")); 
    echo "<br>Date: $date is a ",date('l',strtotime($date))," represented by number ",date('N',strtotime($date)); 
    if(date('N',strtotime($date))<6){ 
     echo " WEEKDAY"; 
     $result[]=$date; 
    }else{ 
     echo " WEEKEND"; 
    } 
} 
echo "<pre>"; 
var_export($result); 
echo "</pre>"; 

Ausgang, wenn sie von einem Dienstag beginnen.

Date: 2017-03-14 is a Tuesday represented by number 2 WEEKDAY 
Date: 2017-03-15 is a Wednesday represented by number 3 WEEKDAY 
Date: 2017-03-16 is a Thursday represented by number 4 WEEKDAY 
Date: 2017-03-17 is a Friday represented by number 5 WEEKDAY 
Date: 2017-03-18 is a Saturday represented by number 6 WEEKEND 
Date: 2017-03-19 is a Sunday represented by number 7 WEEKEND 
Date: 2017-03-20 is a Monday represented by number 1 WEEKDAY 
Date: 2017-03-21 is a Tuesday represented by number 2 WEEKDAY 
array (
    0 => '2017-03-14', 
    1 => '2017-03-15', 
    2 => '2017-03-16', 
    3 => '2017-03-17', 
    4 => '2017-03-20', 
    5 => '2017-03-21', 
) 

Ausgabe beim Start von einem Samstag:

Date: 2017-03-11 is a Saturday represented by number 6 WEEKEND 
Date: 2017-03-12 is a Sunday represented by number 7 WEEKEND 
Date: 2017-03-13 is a Monday represented by number 1 WEEKDAY 
Date: 2017-03-14 is a Tuesday represented by number 2 WEEKDAY 
Date: 2017-03-15 is a Wednesday represented by number 3 WEEKDAY 
Date: 2017-03-16 is a Thursday represented by number 4 WEEKDAY 
Date: 2017-03-17 is a Friday represented by number 5 WEEKDAY 
Date: 2017-03-18 is a Saturday represented by number 6 WEEKEND 
array (
    0 => '2017-03-13', 
    1 => '2017-03-14', 
    2 => '2017-03-15', 
    3 => '2017-03-16', 
    4 => '2017-03-17', 
) 
+0

@MohitMittal Mir ist klar, dass dies eine alte Frage ist, und Sie haben wahrscheinlich erfolgreich oder erfolglos davon abgegangen, aber es stellt eine potentiell hilfreiche Frage für andere Leser dar. Aus diesem Grund wollte ich es nicht ungelöst lassen. Wenn Sie der Meinung sind, dass diese Antwort ausreicht, um das Problem zu lösen, vergeben Sie bitte das grüne Häkchen. – mickmackusa