Hola
anje53:
Antes de nada he visto en portada otro mensaje tuyo casi idéntico (
http://www.forosdelweb.com/f13/probl...iestos-601735/) que no sé si es la misma duda, pero deberíamos minimizar los post con las mismas dudas.
Revisa este mensaje que respondí hace poquito:
http://www.forosdelweb.com/f13/resta...3/#post2465784, puede darte inspiración para restar fechas. Por otra parte recuerdo que en las FAQ hay un ejemplo para sacar la diferencia entre dos fechas.
Tengo entendido que las fechas en javascript sí tienen en cuenta los años y días bisiestos, tanto es así que en 2008 (año bisiesto) desde el 28 de febrero al 1 de marzo hay 2 días (28,29,1) y entre los mismos periodos del 2007 hay 1 día (28, 1). Compruébalo tú mismo en este script:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<title>Página nueva</title>
</head>
<body>
<div id="myEdad"></div>
<script type="text/javascript">
<!--
function sacarTiempo() {
window.setTimeout( "sacarTiempo()", 1000);
var fechaInicio = new Date(2008, 1, 28);
var fechaFin = new Date(2008,2,1);
var diferencia = Math.abs( fechaFin.getTime() - fechaInicio.getTime() );
var dias = Math.floor( diferencia /1000/60/60/24 );
var horas = Math.floor( diferencia /1000/60/60) - dias*24;
var minutos = Math.floor( diferencia /1000/60) - dias*24*60 - horas*60;
var segundos = Math.floor( diferencia /1000) - dias*24*60*60 - horas*60*60 - minutos*60;
document.getElementById('myEdad').innerHTML = "Desde el "+fechaInicio+"<br/>Hasta "+fechaFin+": <br/>"+dias+"dias, "+horas+"horas, "+minutos+"minutos, "+segundos+"segundos.";
}
window.onload = sacarTiempo;
// -->
</script>
</body>
</html>
Y para ver el 2007 sólo tienes que cambiar las líneas de
fechaInicio y
fechaFin:
Código PHP:
var fechaInicio = new Date(2007, 1, 28);
var fechaFin = new Date(2007,2,1);
Espero que te aclare.
Un saludo