<?php namespace nur\b\date; /** * Class Hour: une heure pour un planning de rendez-vous */ class Hour extends Time { const UNIT = self::UNIT_MINUTES; const WRAP = true; const FORMAT = "HhMM"; /** * @return int|null un nombre de minutes dont l'heure doit ĂȘtre multiple. par * exemple, une valeur 5 permet d'avoir des heures qui vont de 5 en 5 minutes * (0h00, 0h05, 0h10, etc.) */ protected function STEP(): ?int { return static::STEP; } const STEP = null; protected function afterUpdate(): void { $step = $this->STEP(); if ($step !== null) { $step *= $this->UNIT(); $value = $this->seconds; $adjust = $value % $step; if ($value < 0) $adjust = -$adjust; $value -= $adjust; $this->seconds = $value; } parent::afterUpdate(); } }