laravel-timezoned
Paquete de Laravel que convierte automáticamente los atributos de fecha de los modelos Eloquent entre la zona horaria de la base de datos y la del usuario.
laravel-timezoned es un paquete ligero para Laravel que ofrece un trait para convertir automáticamente los atributos de fecha de un modelo Eloquent entre la zona horaria de la base de datos y la del usuario respectivo, en ambas direcciones.
El problema que resuelve: si las marcas de tiempo se guardan en la base de datos, por ejemplo, en UTC, hay que convertirlas a la zona horaria del usuario al mostrarlas y volver a convertirlas al guardarlas. Sin una solución centralizada, esto se hace manualmente en incontables lugares del código, con el consiguiente riesgo de errores. Con laravel-timezoned, es el propio modelo el que se encarga de esta conversión de forma transparente.
Funciones principales
- Conversión automática al leer: los atributos de fecha se convierten automáticamente de la zona horaria de la base de datos a la del usuario al acceder a ellos
- Conversión automática al escribir: las fechas ingresadas por el usuario se convierten automáticamente de vuelta a la zona horaria de la base de datos
- Resolver de zona horaria configurable: la zona horaria del usuario se puede determinar libremente, por ejemplo a partir del usuario autenticado, la sesión o un header de la petición
- Acceso al valor sin procesar: un método propio permite obtener, si es necesario, el valor original de la base de datos sin conversión
- Soporte completo de Carbon: funciona tanto con
Carboncomo conCarbonImmutableEl paquete es compatible con PHP 8.1 en adelante y con Laravel 10, 11 y 12, tiene licencia MIT y se instala vía Composer.

