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:
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:
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.
Gracias
Es un gusto ayudar. No olvide seguirme y compartir 🙂
Pingback: Configurar zona horaria en PHP - Parzibyte's blog
gracias me sirvió bastante
Pingback: Obtener fecha de inicio y fin de mes en PHP - Parzibyte's blog
Pingback: Restringir acceso dependiendo de la hora o fecha usando PHP - Parzibyte's blog - El blog de Luis Cabrera
Pingback: Cambiar zona horaria globalmente en PHP con php.ini - Parzibyte's blog - El blog de Luis Cabrera
Pingback: Obtener nombre del mes actual en PHP - Parzibyte's blog - El blog de Luis Cabrera
Gracias por el dato,
Aunque sí hay que correr un “php artisan config:cache” para que empiece a funcionar
Saludos!
Gracias a ti por compartir eso, no lo sabía. Un saludo.
Muchas gracias! Acabo de probarlo en Laravel 5.5 y funcionó perfecto!