
Resta de varias fechas
Publicado por programa (4 intervenciones) el 03/03/2015 18:45:50
Hola a tod@s:
Estoy intentando programar una aplicación que me muestre el tiempo que hace que no hago ciertas cosas. Por ejemplo:
¿Cuánto hace que no como? 00 años : 00 días : 04 horas : 15 minutos : 45 segundos
¿Cuánto hace que no voy al cine? 00 años : 06 días : 14 horas : 37 minutos : 22 segundos
¿Cuánto hace que no viajo? 00 años : 233 días : 19 horas : 02 minutos : 03 segundos
Básicamente, sería una resta de fechas. Yo lo he programado así:
pero sólo me aparece una fila (con una fecha) y me gustaría que apareciesen varias filas (cada una con su fecha distinta), espero haberme explicado bien.
¿Cómo podría hacerlo?
Gracias por vuestra ayuda ;)
Estoy intentando programar una aplicación que me muestre el tiempo que hace que no hago ciertas cosas. Por ejemplo:
¿Cuánto hace que no como? 00 años : 00 días : 04 horas : 15 minutos : 45 segundos
¿Cuánto hace que no voy al cine? 00 años : 06 días : 14 horas : 37 minutos : 22 segundos
¿Cuánto hace que no viajo? 00 años : 233 días : 19 horas : 02 minutos : 03 segundos
Básicamente, sería una resta de fechas. Yo lo he programado así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<html>
<head>
<title>Título de la página</title>
<script type="text/javascript">
function restarFechas(){
var hoy=new Date();
var fechaActual=new Date(hoy.getFullYear()+"/"+(hoy.getMonth()+1)+"/"+hoy.getDate()+" "+hoy.getHours()+":"+hoy.getMinutes()+":"+hoy.getSeconds());
var fecha=new Date("2014/4/2 10:30:00");
var restaFechas=(fechaActual-fecha)/1000;
var years=0;
var dias=0;
var horas=0;
var minutos=0;
var segundos=0;
while(restaFechas>0){
if(restaFechas>=31536000){
years=parseInt(restaFechas/31536000);
restaFechas=restaFechas-years*31536000;
}else if(restaFechas>=86400){
dias=parseInt(restaFechas/86400);
restaFechas=restaFechas-dias*86400;
}else if(restaFechas>=3600){
horas=parseInt(restaFechas/3600);
restaFechas=restaFechas-horas*3600;
}else if(restaFechas>=60){
minutos=parseInt(restaFechas/60);
restaFechas=restaFechas-minutos*60;
}else{
segundos=restaFechas;
restaFechas=0;
}
}
years=dobleDigito(years);
dias=dobleDigito(dias);
horas=dobleDigito(horas);
minutos=dobleDigito(minutos);
segundos=dobleDigito(segundos);
document.getElementById('displayReloj').innerHTML=years+" años : "+dias+" días : "+horas+" horas : "+minutos+" minutos : "+segundos+" segundos";
var t = setTimeout(function(){restarFechas()},1000);
}
function dobleDigito(i) {
if(i<10){
i="0"+i; // Añadir el cero en números menores de 10
}
return i;
}
</script>
</head>
<body onload="restarFechas()">
<div id ="displayReloj"></div>
</body>
</html>
pero sólo me aparece una fila (con una fecha) y me gustaría que apareciesen varias filas (cada una con su fecha distinta), espero haberme explicado bien.
¿Cómo podría hacerlo?
Gracias por vuestra ayuda ;)
Valora esta pregunta


0