Foros del Web » Programando para Internet » PHP »

visualizar la hora corriendo del servidor

Estas en el tema de visualizar la hora corriendo del servidor en el foro de PHP en Foros del Web. hola de nuevo amigos de forosdelweb, tengo la siguiente duda: como puedo capturar la hora corriendo del servidor donde alojo mis codigos PHP, y configurarlo ...
  #1 (permalink)  
Antiguo 08/08/2008, 13:59
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
visualizar la hora corriendo del servidor

hola de nuevo amigos de forosdelweb,
tengo la siguiente duda:
como puedo capturar la hora corriendo del servidor donde alojo mis codigos PHP, y configurarlo a la (GMT-05:00) Bogotá,Lima,Quito.
sin duda esto se hace en Javascript, pero si lo hago con javascript estaria captura la hora corriendo de la pc que esta visualizando la web!, pero eso no es lo que espero, necesito ideas de como hacerlo. Muchas gracias de antemano..

PD: Hora corriendo=> osea que este en movimiento Horas:Minutos:Segundos. como si estarias mirando la hora de tu reloj digital. :)
  #2 (permalink)  
Antiguo 08/08/2008, 14:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: visualizar la hora corriendo del servidor

Hola vidalsoft,

Lamentablemente no puedes hacerlo con PHP, ya que PHP se ejecuta del lado del servidor, tienes que hacerlo forzoso en Javascript, tomar el tiempo GMT y restarle el -5.

Saludos.
  #3 (permalink)  
Antiguo 08/08/2008, 14:05
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: visualizar la hora corriendo del servidor

pero si lo hago en javascript, seria los mismo. estaria tomando la hora de la pc cliente que ejecuta la aplicacion web..., uhmmmmmmmmm como podria hacer........................ amigo entonce comoo se haria en estos casos ? o no existe solucion ?...
  #4 (permalink)  
Antiguo 08/08/2008, 14:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: visualizar la hora corriendo del servidor

Podrías a lo mejor hacerlo con AJAX, pero hacer 1 request por segundo podría tirar tu server para algo tan simple.

La hora en el servidor la obtienes con el comando time(); y date(), si lo quieres de GMT -5, debes de usar date_default_timezone_set.

Si usas AJAX para obtener la hora cada segundo como te indico puedes llegar a tener un problema.

Saludos.
  #5 (permalink)  
Antiguo 08/08/2008, 14:30
Avatar de vidalsoft  
Fecha de Ingreso: julio-2008
Ubicación: /www/...
Mensajes: 339
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: visualizar la hora corriendo del servidor

en conclusion entonces solo se puede captura la hora pero estatica, ose a la hora que se hace el request ! ..... valla valla que interesante! el temita que tengo...............................
  #6 (permalink)  
Antiguo 08/08/2008, 14:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: visualizar la hora corriendo del servidor

Así es, y esto debido a que PHP es un lenguaje del lado del servidor, no del cliente, por lo que cualquier cambio, necesita hacer un nuevo request.

Saludos.
  #7 (permalink)  
Antiguo 08/08/2008, 14:42
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: visualizar la hora corriendo del servidor

Cita:
Iniciado por vidalsoft Ver Mensaje
en conclusion entonces solo se puede captura la hora pero estatica, ose a la hora que se hace el request ! ..... valla valla que interesante! el temita que tengo...............................
puedes hacer una cosa, en php imprimes la hora actual del servidor
lo que imprimes, haces que lo recoja una funcion javascript (ya sea por que le has hecho un echo o lo escribes en una cookie), esa funcion javascript, la programas para que cada segundo vaya cambiando, y vas mostrando la variable en un formato de hora.
Nose si me he explicado bien, pero yo lo veo factible, lastima que no tenga ni idea de javascript :(
  #8 (permalink)  
Antiguo 08/08/2008, 14:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: visualizar la hora corriendo del servidor

Sí esa podría ser una solución, imprimes el valor inicial de time en un objeto Date de Javascript, y ese Date lo vas incrementando.

Por ejemplo:
Código:
<script type="text/javascript">
var startTime = <?php echo time(); ?>;
function updateClock ( )
{
  startTime++;
  var currentTime = new Date ( );
  currentTime.setTime( startTime );
  var currentHours = currentTime.getHours ( );
  var currentMinutes = currentTime.getMinutes ( );
  var currentSeconds = currentTime.getSeconds ( );

  // Pad the minutes and seconds with leading zeros, if required
  currentMinutes = ( currentMinutes < 10 ? "0" : "" ) + currentMinutes;
  currentSeconds = ( currentSeconds < 10 ? "0" : "" ) + currentSeconds;

  // Choose either "AM" or "PM" as appropriate
  var timeOfDay = ( currentHours < 12 ) ? "AM" : "PM";

  // Convert the hours component to 12-hour format if needed
  currentHours = ( currentHours > 12 ) ? currentHours - 12 : currentHours;

  // Convert an hours component of "0" to "12"
  currentHours = ( currentHours == 0 ) ? 12 : currentHours;

  // Compose the string for display
  var currentTimeString = currentHours + ":" + currentMinutes + ":" + currentSeconds + " " + timeOfDay;

  // Update the time display
  document.getElementById("clock").firstChild.nodeValue = currentTimeString;
}

window.onload = function() {
     updateClock();
     setInterval('updateClock()', 1000 );
}

// -->
</script>
<span id="clock">&nbsp;</span>
Saludos.
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 14:26.