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.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 1,020 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

11 Comments

Mauricio · enero 25, 2020 a las 7:14 am

Gracias

    parzibyte · enero 25, 2020 a las 7:46 am

    Es un gusto ayudar. No olvide seguirme y compartir 🙂

jesus · marzo 15, 2019 a las 9:53 pm

gracias me sirvió bastante

DavidB · marzo 8, 2018 a las 1:54 pm

Gracias por el dato,
Aunque sí hay que correr un “php artisan config:cache” para que empiece a funcionar
Saludos!

    parzibyte · marzo 8, 2018 a las 4:13 pm

    Gracias a ti por compartir eso, no lo sabía. Un saludo.

SebaCarrasco93 · febrero 19, 2018 a las 5:11 pm

Muchas gracias! Acabo de probarlo en Laravel 5.5 y funcionó perfecto!

Configurar zona horaria en PHP - Parzibyte's blog · junio 17, 2019 a las 1:27 pm

[…] algún tiempo expliqué cómo configurar la zona horaria con Laravel, pero no con PHP […]

Obtener fecha de inicio y fin de mes en PHP - Parzibyte's blog · agosto 8, 2018 a las 10:09 am

[…] de ejemplo que muestra lo enseñado arriba. Puedes ejecutarlo si gustas. Por cierto, no olvides establecer bien la zona horaria de tu […]

Restringir acceso dependiendo de la hora o fecha usando PHP - Parzibyte's blog - El blog de Luis Cabrera · junio 23, 2018 a las 12:59 pm

[…] Si tienes dudas sobre esto, ya escribí un post de cómo establecer la zona horaria en diferentes lugares del mundo. […]

Cambiar zona horaria globalmente en PHP con php.ini - Parzibyte's blog - El blog de Luis Cabrera · mayo 7, 2018 a las 10:30 am

[…] hemos visto cómo cambiar la hora en Laravel o en PHP, y también en CodeIgniter; pero ahí la cambiamos individualmente para el proyecto o […]

Obtener nombre del mes actual en PHP - Parzibyte's blog - El blog de Luis Cabrera · abril 26, 2018 a las 10:21 am

[…] Es simple. Para que esto funcione, nuestro servidor debe tener bien establecida la zona horaria. Aquí hay un post de cómo hacerlo con y sin Laravel. […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: