Teilnahmerechnungen erstellen

This commit is contained in:
2026-09-03 00:08:46 +02:00
parent a61344395a
commit 9c4c28e566
79 changed files with 4303 additions and 75 deletions
+28
View File
@@ -0,0 +1,28 @@
<?php
declare(strict_types=1);
namespace App\Support;
use DateTimeInterface;
/**
* Zustandslose Helfer für Zeiträume.
*/
final class DateRange
{
/**
* Anzahl Tage eines Zeitraums, bei dem beide Enden mitzählen -- die Anwesenheitstage einer
* Teilnahme also, bei der An- und Abreisetag beide zählen. Ein eintägiger Zeitraum ergibt 1.
*
* Die Reihenfolge der Argumente spielt keine Rolle, `DateInterval::days` liefert den Betrag.
*
* Achtung: Für die Förderabrechnung gilt eine andere Regel -- dort werden Nächte gezählt
* (siehe `presenceDaysSupport` in {@see \App\Resources\EventParticipantResource}). Dieser Helfer
* ist dafür nicht zuständig.
*/
public static function inclusiveDays(DateTimeInterface $from, DateTimeInterface $to): int
{
return $from->diff($to)->days + 1;
}
}