src/util/Date.php
public static function diffDays($start, $end) {
        if (!is_string($start))                      throw new IllegalTypeException('Illegal type of parameter $start: '.gettype($start));
        if (Validator::isDateTime($start) === false) throw new InvalidArgumentException('Invalid argument $start: "'.$start.'"');
        if (!is_string($end))                        throw new IllegalTypeException('Illegal type of parameter $end: '.gettype($end));
        if (Validator::isDateTime($end) === false)   throw new InvalidArgumentException('Invalid argument $end: "'.$end.'"');

        $ts1 = strtotime($start.' GMT'); // ohne Angabe einer Zeitzone wird die lokale DST einkalkuliert
        $ts2 = strtotime($end.' GMT');

        $diff = $ts2 - $ts1;

        if ($diff % DAYS)
            Logger::log('('.$ts2.'-'.$ts1.') % DAYS != 0: '.($diff%DAYS), L_WARN);

        return (int)($diff / DAYS);
    }
public static function diffDays($start, $end) {
        if (!is_string($start))                      throw new IllegalTypeException('Illegal type of parameter $start: '.gettype($start));
        if (Validator::isDateTime($start) === false) throw new InvalidArgumentException('Invalid argument $start: "'.$start.'"');
        if (!is_string($end))                        throw new IllegalTypeException('Illegal type of parameter $end: '.gettype($end));
        if (Validator::isDateTime($end) === false)   throw new InvalidArgumentException('Invalid argument $end: "'.$end.'"');

        $ts1 = strtotime($start.' GMT'); // ohne Angabe einer Zeitzone wird die lokale DST einkalkuliert
        $ts2 = strtotime($end.' GMT');

        $diff = $ts2 - $ts1;

        if ($diff % DAYS)
            Logger::log('('.$ts2.'-'.$ts1.') % DAYS != 0: '.($diff%DAYS), L_WARN);

        return (int)($diff / DAYS);
    }
public static function diffDays ( $ start , $ end ) { if ( ! is_string ( $ start ) ) throw new IllegalTypeException ( 'Illegal type of parameter $start: ' . gettype ( $ start ) ) ; if ( Validator :: isDateTime ( $ start ) === false ) throw new InvalidArgumentException ( 'Invalid argument $start: "' . $ start . '"' ) ; if ( ! is_string ( $ end ) ) throw new IllegalTypeException ( 'Illegal type of parameter $end: ' . gettype ( $ end ) ) ; if ( Validator :: isDateTime ( $ end ) === false ) throw new InvalidArgumentException ( 'Invalid argument $end: "' . $ end . '"' ) ; $ ts1 = strtotime ( $ start . ' GMT' ) ; // ohne Angabe einer Zeitzone wird die lokale DST einkalkuliert $ ts2 = strtotime ( $ end . ' GMT' ) ; $ diff = $ ts2 - $ ts1 ; if ( $ diff % DAYS ) Logger :: log ( '(' . $ ts2 . '-' . $ ts1 . ') % DAYS != 0: ' . ( $ diff % DAYS ) , L_WARN ) ; return ( int ) ( $ diff / DAYS ) ; }
Berechnet die Anzahl von Tagen zwischen zwei Zeitpunkten.

@param  string $start - erster Zeitpunkt  (Format: yyyy-mm-dd)
@param  string $end   - zweiter Zeitpunkt (Format: yyyy-mm-dd)

@return int - Tage
Berechnet die Anzahl von Tagen zwischen zwei Zeitpunkten .