offline

Lieferzeiten in PHP

php, code, time

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

Das wars.

Marcus Obst
Güterweg 89b
09474 Crottendorf
Germany

+49 37344 133407
info@marcus-obst.de