Cita:
Iniciado por HackmanC 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.