Cambiar zona horaria o timezone en Laravel

Cambiar la zona horaria en nuestro servidor es de suma importancia, sobre todo si queremos trabajar con fechas.

Por defecto, PHP (y los frameworks que trabajen sobre el lenguaje) viene con una zona horaria preconfigurada; zona que no siempre nos servirá.

Por ejemplo, si somos de México, la fecha y hora estarán mal configuradas, y al querer trabajar con ellas, obtendremos datos que, si bien son correctos, no están ajustados para el tiempo de nuestro país o lugar de origen.

Laravel, un poderoso framework de PHP, pone a nuestra disposición una manera fácil de configurar la zona horaria que usaremos en todo nuestro proyecto.

Para cambiar la zona horaria o timezone, hay que seguir los siguientes pasos:

Paso 1

Una vez que esté generado nuestro proyecto, debemos ubicar el fichero llamado app.php dentro de la carpeta config. Es decir, el archivo está en config / app.php

Cuando lo encontremos, hay que abrirlo con nuestro editor de textos preferido.

Paso 2

Una vez abierto, nos encontraremos con muchos comentarios y un poco de código, pero no hay que preocuparnos por eso. Simplemente hay que buscar la línea que dice ‘timezone’ como se muestra en la imagen:

Zona horaria por defecto en Laravel
Zona horaria por defecto en Laravel

Paso 3

En la misma línea en donde está ‘timezone’ encontramos ‘UTC’, pues bien, simplemente hay que cambiar ‘UTC’ por la zona horaria de nuestra ubicación. La lista completa de zonas horarias pueden verse aquí: Listado de zonas horarias admitidas.

En mi caso, mi ubicación, o mejor dicho, la zona horaria que quiero que se tome es la de México. Entonces, ocuparé “America/Mexico_City”.

Paso 4

Simplemente hay que cambiar la línea, y poner la zona horaria de nuestra preferencia. La imagen muestra un ejemplo:

Zona horaria para México
Zona horaria para México

No hay que olvidar las comillas.

Después, simplemente hay que guardar cambios y todo quedará listo. No hace falta reiniciar el servidor ni nada de eso.

Cambiar zona horaria sin Laravel

A veces, es posible que no usemos frameworks y que queramos cambiar la zona horaria con código nativo. Pues bien, PHP también proporciona una función llamada date_default_timezone_set() que sirve para el mismo propósito.

La ventaja que nos ofrece Laravel es que solo tenemos que configurar una vez, y luego podremos usarla en toda nuestra aplicación.

En cambio, con código nativo, tenemos que cambiar la zona horaria al inicio de cada uno de nuestros archivos en los que queramos trabajar con fechas.

Eso es todo, espero les haya servido. Por cierto, este tutorial funciona con Laravel 5.4 pero supongo que debe funcionar en otras versiones.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

11 comentarios en “Cambiar zona horaria o timezone en Laravel”

  1. Pingback: Configurar zona horaria en PHP - Parzibyte's blog

  2. Pingback: Obtener fecha de inicio y fin de mes en PHP - Parzibyte's blog

  3. Pingback: Restringir acceso dependiendo de la hora o fecha usando PHP - Parzibyte's blog - El blog de Luis Cabrera

  4. Pingback: Cambiar zona horaria globalmente en PHP con php.ini - Parzibyte's blog - El blog de Luis Cabrera

  5. Pingback: Obtener nombre del mes actual en PHP - Parzibyte's blog - El blog de Luis Cabrera

Dejar un comentario