Foros del Web » Programando para Internet » PHP »

como transformar hora del servidor en local al mostrarla??

Estas en el tema de como transformar hora del servidor en local al mostrarla?? en el foro de PHP en Foros del Web. Hola, Necesito mostrar unos registros de una base de datos los cuales tienen almacenados entre otros datos, la fecha en la cual fueron ingresados, logicamente ...
  #1 (permalink)  
Antiguo 26/06/2008, 03:28
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
como transformar hora del servidor en local al mostrarla??

Hola,

Necesito mostrar unos registros de una base de datos los cuales tienen almacenados entre otros datos, la fecha en la cual fueron ingresados, logicamente estan con la fecha del servidor pero como el servidor esta en otro pais, tiene otra hora.

Cuando muestro una consulta en pantalla me muestra los registros con la hora del servidor, lo que necesito es pasar esa hora a la hora de mi pais, no se si se entiende mi pregunta.

Por ejemplo el servidor tiene las 2:25:56 HRS y necesito que me muestre las 5:25:56.

Eciste alguna funcion que me sume las 3 horas de diferencia??

Eso es todo,

Saludos
  #2 (permalink)  
Antiguo 26/06/2008, 04:08
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: como transformar hora del servidor en local al mostrarla??

Especifico mejor mi pregunta.

Tengo en una base de datos almacenado, entre otros campos, un campo del tipo DATETIME.
Lo que deseo es mostrar solo la hora, ademas de sumarle 3 horas.
  #3 (permalink)  
Antiguo 26/06/2008, 04:40
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: como transformar hora del servidor en local al mostrarla??

Hola, yo denuevo...

Ya logre mostrar desde un campo DATETIME solamente la hora con la funcion date() pero me tira un error, no se si la estare usando bien.

Código PHP:
while($row mysql_fetch_array($resultado)) {
    function 
hora($fecha){
    
$fecha strtotime($fecha);
    
$fecha date("H:i:s"$fecha);
    return 
$fecha;
        }
    echo 
hora($row['fecha'])." : ".$row['campo1']." : ".$row['campo2']."<br>";

y al momento de revisar la pagina solo me muestra el primer registro y luego el siguiente error:

Código HTML:
03:36:39 : texto del campo 1 : texto del campo 2

Fatal error: Cannot redeclare hora() (previously declared in /home/usuario/public_html/historial.php:13) in /home/usuario/public_html/historial.php on line 13
en la linea 13 tengo la declaracion de la funcion hora()


Que estoy haciendo mal??? esta bien hecha la funcion para mostrar solo la hora/minuto/segundo?? y esta bien ahi done la puse??

Ojala alguien puda guiarme un poco.

Luego de solucionar este problema lo que me falta es poder sumarle 3 horas a lo obtenido de la base de datos.

Saludos
  #4 (permalink)  
Antiguo 26/06/2008, 04:58
 
Fecha de Ingreso: junio-2006
Ubicación: Antofagasta
Mensajes: 216
Antigüedad: 17 años, 10 meses
Puntos: 7
Respuesta: como transformar hora del servidor en local al mostrarla??

Bueno, me respondo a mi mismo.

Puse la funcion fuera del while y ahora me funciona correctamente, ademas le agregue una liena en donde le sumo 3 horas para adaptarlo a la hora local.
Quedó de la siguiente manera:

Código PHP:
function mostrar_hora($fecha){
    
$fecha strtotime($fecha);
    
// Le sumamos 3 horas para adaptarlo a la hora chilena
    
$fecha date("H:i:s"$fecha+3*3600);
    return 
$fecha;

Me ha funcionado bien pero no se si sea la forma correcta de hacerlo.

Espero algun comentario.

Saludos.
  #5 (permalink)  
Antiguo 26/06/2008, 07:14
 
Fecha de Ingreso: marzo-2007
Mensajes: 347
Antigüedad: 17 años, 1 mes
Puntos: 2
Respuesta: como transformar hora del servidor en local al mostrarla??

Veo que no te responde nadie, y te has respondido 3 o 4 veces a ti mismo xD, yo no habia leido este post, yo lo que hacia era, aparte de guardar en la base de datos la hora de registro, el formulario en el que le pidas los datos, pidele tambien el horario UTC que tiene, y entonces calculas los segundos de diferencia, y se los sumas a la hora del servidor, esta claro que tienes que guardar el UTC que te haya dicho en la base de datos, otro cosa mas complicada para el codigo, seria, tener una base de datos con todos los paises y su horario UTC correspondiente, y entonces que te diga de que pais es y tu le calculas el UTC.

P.D: Recuerda que algunos paises (creo que no todos) tienen horario de verano, que les suma una hora a su hora real, tienes que tener en cuenta también eso.
  #6 (permalink)  
Antiguo 26/06/2008, 07:42
Avatar de T4ke0veR  
Fecha de Ingreso: agosto-2007
Ubicación: Quito - Ecuador
Mensajes: 1.720
Antigüedad: 16 años, 8 meses
Puntos: 28
Respuesta: como transformar hora del servidor en local al mostrarla??

fijate en esto

Código PHP:
<?php
echo date('Y-m-d H:i:s');
putenv('TZ=America/Caracas');
echo 
date('Y-m-d H:i:s');
?>
este es para el caso de mi pais... solo debes ver donde esta difinida la zona hora horaria de tu pais!!!
o tienes este dependiendo de la diferencia al GTM
Código PHP:
date("d-m-Y  H:i:s"strtotime("+2 hour")) 
saludos
__________________
Diseño gráfico, Web, imagen corporativa, publicidad ...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:20.