🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano
FAQ
¿En qué se diferencia el paquete de symfony/clock? Es un superconjunto: además de los relojes de sistema/simulados/monótonos, añade decoradores de desplazamiento, escala y truncado, relojes por pasos y de cola, TimeSpan, Deadline, Stopwatch, timestamp()/microtime() económicos. Y también CalendarDate — un calendario de nivel Carbon con localización. Dependencias ligeras: psr/clock y cloud-castle/inflector (sin polyfills ni ICU).
¿Reemplaza a Carbon? Sí, para la mayoría de escenarios. CalendarDate ofrece una API de calendario a la par de Carbon: aritmética de meses/años con control de desbordamiento (addMonthsNoOverflow()), predicados, diferencias, navegación, formateadores, análisis determinista de cadenas relativas y diffForHumans() en 6 idiomas sin ICU/ext-intl. Lo único que falta es la integración estrecha con Laravel (fachadas, casts de fechas de Eloquent).
¿Por qué TimeSpan no acepta meses? La duración absoluta de un mes no está definida (28–31 días), por lo que TimeSpan es una duración exacta en nanosegundos. Para la aritmética de calendario de meses/años usa CalendarDate (addMonthsNoOverflow(), addYears()).
¿Es ClockHolder seguro para hilos? Como cualquier estado estático de PHP — dentro de un único proceso. En entornos swoole/parallel inyecta ClockInterface de forma explícita.
¿Qué coste tiene now()? A la altura de los mejores competidores (véase Comparación); timestamp() es notablemente más barato que now()->getTimestamp() en cualquier reloj.
🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano