Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/07/2008, 18:43
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Respuesta: Problemas con los años bisiestos en JavaScript

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(2008128); 
    var 
fechaFin = new Date(2008,2,1);
    var 
diferencia Math.absfechaFin.getTime() - fechaInicio.getTime() );
    var 
dias Math.floordiferencia /1000/60/60/24 );
    var 
horas Math.floordiferencia /1000/60/60) - dias*24;
    var 
minutos Math.floordiferencia /1000/60) - dias*24*60 horas*60;
    var 
segundos Math.floordiferencia /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(2007128); 
    var 
fechaFin = new Date(2007,2,1); 

Espero que te aclare.

Un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.