🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
TruncatingClock — troncature des instants
Objectif
Décorateur : arrondit les lectures vers le bas jusqu’à la limite d’une unité (TruncationUnit : seconde, minute, heure, jour...).
À quoi ça sert et comment l’utiliser
Clés de cache à la minute, regroupement des métriques par intervalles : TruncatingClock::toMinute($clock) — parité avec MinuteClock de beste, mais pour n’importe quelle unité.
Exemple
$byMinute = TruncatingClock::toMinute(SystemClock::utc());
$byHour = new TruncatingClock(SystemClock::utc(), TruncationUnit::Hour);
$key = 'stats:' . $byHour->now()->format('YmdH');
Anti-modèles
Pas pour des horodatages d’événements précis — les microsecondes sont volontairement abandonnées.
Cycle de vie
flowchart LR
A[Inner clock] -->|12:34:56.789| B[TruncatingClock unit=Minute]
B -->|12:34:00.000| C[Consumer]
Comparaison des fonctionnalités avec les concurrents
| Aspect | 🏆 CloudCastle | symfony | carbon | lcobucci | beste | ergebnis |
|---|---|---|---|---|---|---|
| Unité de troncature arbitraire | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Troncature à la minute | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Décorateur sur n’importe quelle horloge | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| timestamp() économique sans objet | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Total | 🏆 4 | 0 | 0 | 0 | 2 | 0 |
← Retour à la liste des fonctionnalités
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano