Ver Mensaje Individual
  #23 (permalink)  
Antiguo 26/07/2011, 21:34
eguar
 
Fecha de Ingreso: octubre-2006
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 1
Respuesta: Consulta PHP funcion date()

Cita:
Iniciado por HackmanC Ver Mensaje
Hola,

El problema es que estas restando una fecha de otra y por consiguiente te da la diferencia, por ejemplo, si a las 10 de la mañana le quitas las 8 de la mañana te devuelve 2 horas, y por lógica no son las 2 de la mañana.

$propo = 27 de Julio menos 26 de Julio;

En $propo tienes 1 día, como la función date() te convierte un valor numérico en función del tiempo serial POSIX timestamp que inicia en algún momento de 1970 o algo así, entonces te dice que será el siguiente día de 1970.

Para corregirlo tendrías que sumarle el valor inicial donde comenzaste a contar. Ya tienes la idea de lo que tienes que hacer.

Saludos,
Gracias amigo.

Mira, con una ayudita de andresdzphp logre hacer lo siguiente y por ahora marcha todo muy bien.

Código PHP:
<?php

date_default_timezone_set
("America/Montevideo");
//echo date('Y-m-d H:i:s') . '<br />';

$fechaFija1 = strtotime('2011-07-26 12:51:00');
$fecha = time();
$suma = 133200;
$sumaesp = 18000;

while (
$fecha > $fechaFija1) {
    
$fechaFija1 += ($suma);
    
$suma += 133200;
}  

$espana = $fechaFija1 + $sumaesp;

echo 
"En España, a las " . date('Y-m-d H:i:s', $espana) . '<br>';
echo 
"En Uruguay, a las " . date('Y-m-d H:i:s', $fechaFija1) . '<br>';

$propo = $fechaFija1 - $fecha;

$xsegundos = $fechaFija1 - $fecha;
$xminutos = floor($xsegundos/60);
$xhoras = floor($xminutos/60);
$xdias = floor($xhoras/24);

$dias = $xdias;
$horas = $xhoras - ($dias * 24);
$minutos = $xminutos - ($xhoras * 60);
$segundos = $xsegundos - ($xminutos * 60);

echo 
"<br>Respawn en: " . $dias . " dias - " . $horas . "h " . $minutos . "m " . $segundos . " s<br><br>"; 

?>
Muchas gracias por todo.