🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
TruncatingClock — truncamiento de momentos
Propósito
Decorador: redondea las lecturas hacia abajo hasta el límite de una unidad (TruncationUnit: segundo, minuto, hora, día...).
Para qué y cómo usarlo
Claves de caché por minutos, agrupación de métricas por intervalos: TruncatingClock::toMinute($clock) — paridad con MinuteClock de beste, pero para cualquier unidad.
Ejemplo
$byMinute = TruncatingClock::toMinute(SystemClock::utc());
$byHour = new TruncatingClock(SystemClock::utc(), TruncationUnit::Hour);
$key = 'stats:' . $byHour->now()->format('YmdH');
Antipatrones
No para marcas de eventos precisas — los microsegundos se descartan deliberadamente.
Ciclo de vida
flowchart LR
A[Inner clock] -->|12:34:56.789| B[TruncatingClock unit=Minute]
B -->|12:34:00.000| C[Consumer]
Comparación de la característica con alternativas
| Aspecto | 🏆 CloudCastle | symfony | carbon | lcobucci | beste | ergebnis |
|---|---|---|---|---|---|---|
| Unidad de truncamiento arbitraria | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Truncamiento al minuto | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| Decorador sobre cualquier reloj | ✅ | ❌ | ❌ | ❌ | ✅ | ❌ |
| timestamp() económico sin objeto | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Total | 🏆 4 | 0 | 0 | 0 | 2 | 0 |
← Volver a la lista de características
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano