Lieferzeiten in PHP
Aufgrund aktueller Aufgabenstellung, hier ein Codeschnipsel der das aktuelle (Bestell-) Datum als Grundlage nimmt, um das Lieferdatum einer Bestellung vorherzusagen.
<?php
// new date/time object
$date = new DateTime('now');
// set order time to a Saturday, 2 pm
$date->modify('next sat 14:00');
// orders are taken in till 15 minutes before 2pm
// http://php.net/manual/de/datetime.formats.relative.php
$order_till = new DateTime('front of 14');
// preserve original date
$date_min = clone $date;
// use interval
//$date_min->add(new DateInterval("P1D"));
// orders after 1:45 pm are getting shipped the next day
if($date > $order_till)
{
$date_min->modify('1 weekdays');
}
// if it's on a weekend then it gets shipped on monday
if($date_min->format('N') >= 6){
$date_min->modify('next monday');
}
// add delivery time
$date_min->modify('3 weekdays');
var_dump('Ordered:', $date->format('l jS \of F Y H:i:s'));
var_dump('Delivery:', $date_min->format('l jS \of F Y H:i:s'));
Ich benutze die PHP DateTime Klasse und relative Datumsangaben
- Bestelldatum wird geprüft ob bis 13:45 Uhr
front of 14
bestellt wurde- wenn ja geht die Bestellung noch raus
- wenn nein, dann am nächsten Tag
1 days
- Ist das Datum jedoch ein Samstag oder Sonntag, dann wird erst am nächsten Montag verschickt
next monday
- Und dann nochmal
3 days
für die Auslieferung addiert
Das wars.