place[0])) { return; } @list ($target, $interval) = explode('+', $Page->place[0]); $target = new DateTime($target); $now = new DateTime('NOW'); $next = $target->diff($now); # age if ($interval) { # recurring $interval = new DateInterval('P'.$interval); for ($attempt = 0; $attempt < 500; $attempt++) { if ($next->invert) { break; # past or today } $target->add($interval); $next = $target->diff($now); } } $next = $target->setTime(0, 0)->diff($now); # truncate to midnight $eta = $next->invert ? $next->days + 1 : -$next->days; if ($eta == 0) { print 'vandaag'; } elseif ($eta == 1) { print 'morgen'; } elseif ($eta == 2) { print 'overmorgen'; } elseif ($eta == -1) { print 'gisteren'; } elseif ($eta < 0) { printf('%d dagen geleden', -$eta); } else { printf('over %d dagen', $eta); } if ($interval) { print ', ' . showdate(explode('-', $target->format('Y-m-d'))); }