PHPAjustar fecha según Zona horaria o GMT en PHP

Ajustar fecha según Zona horaria o GMT en PHP

-

- Advertisment -

Todos los servidores tienen la hora en GMT+0 pero según la configuración en php.ini nos mostrará cierta hora, lo puedes comprobar visualizando la hora completa date(“r”,time()), o con date(“l jS \of F Y h:i:s A – \G\M\T: P”, time()) el problema se da cuando queremos mostrar la fecha/hora según una franja horaria específica, en php se puede configurar la hora usando date_default_timezone_set e indicando la franja según el parámetro que permite la función, pero en lo personal estoy acostumbrado a tener la hora del servidor de una tabla y según el GMT que le indico que me muestre la hora

Esta es una función que logra mostrar la fecha/hora dándole el GMT que deseas

<html>
<head>
<title>Fecha Actual</title>
</head>
<body>
Hora del Servidor: <?php echo date("l jS \of F Y h:i:s A - \G\M\T: P", time());?><br />
<?php
function mifechagmt($fecha_timestamp,$gmt=0)
{
	$timestamp=$fecha_timestamp; //puedes poner aquí la hora en formato "Unix timestamp" obtenida de una tabla
	$diferenciahorasgmt = (date('Z', time()) / 3600 - $gmt) * 3600; //La diferencia de horas entre el GMT del servidor y el GMT que queremos, en mi caso mi servidor es GTM-4, y si quiero un GTM -5 la diferencia será de -1 hora
	$timestamp_ajuste = $timestamp - $diferenciahorasgmt; //restamos a la hora actual la diferencia horaria en mi caso será -1 hora
	$fecha = date("l jS \of F Y h:i:s A", $timestamp_ajuste); //mostramos la fecha/hora
	return $fecha;
}
?>
<table border="1">
<?php 
for ($i=-12;$i<=12;$i++)
{
echo "<tr><td>GMT $i</td><td>".mifechagmt(time(),$i)."</td></tr>";
}
?>
</table>

</body>
</html>

mifechagmt() recibe 2 parámetros, una hora en formato UNIX que puede ser la actual o tomada de una tabla, y el GMT como valor numérico para mostrar la fecha/hora, ya si desean puede agregarle un tercer parámetro que les indique el formato a mostrar.

Lo puedes ver aquí en funcionamiento: https://www.elcodigofuente.com/ejemplos/fecha.php

3 COMENTARIOS

  1. Yo quisiera saber dos cosas, a este scripts se le puede añadir las horas que son por ejemplo +03:30? y añadir las lo del cambio de hora de verano?

  2. Con esto solucione el error que me daba:

    Warning: date() [function.date]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone

    Saludos.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí

Últimas Noticias

WordPress – Crear BBCODE o shortcode personalizados

Los BBCODES o "shortcode" son esas funciones que tiene Wordpress y que se usan con corchetes, que generalmente te...

WordPress – Enviar título de la página o campo oculto, en Contact Form 7

Problema: Tengo un cliente que tiene una web con muchos productos y en todas sus páginas usa el mismo formulario...

Laravel – Modo Debug según IP

En algunos casos se necesita el modo DEBUG según IP, por ejemplo cuando estamos en producción y tenemos un...

Reemplazar URLs cuando cambias de dominio en WordPress (también de http a https)

Cuando haces un cambio de dominio por alguna razón (antes te llamabas www.viejodominio.com y ahora www.nuevodominio.com) si bien ya...
- Advertisement -

Como ejecutar comandos Artisan desde consola Git

Voy a suponer que ya tienen instalado el composer y php de manera global y un proyecto en Laravel....

Ejecutar Composer y/o PHP de manera Global en Windows

Si por alguna razón al instalar Composer este no funciona desde cualquier ruta estando en linea de comandos (ya...

Debe leer

- Advertisement -

También podría gustarteRELACIONADA
Recomendada para usted