Thread View: es.comp.lenguajes.java
4 messages
4 total messages
Started by pete
Mon, 07 May 2007 23:29
resta de fechas
Author: pete
Date: Mon, 07 May 2007 23:29
Date: Mon, 07 May 2007 23:29
12 lines
1276 bytes
1276 bytes
Hola de nuevo. Algo que ya intent� semanas atr�s me vuelve a dar problemas. Me gustar�a que al restar dos variables fecha, me diese la diferencia en d�as. Puede que haya que dar muchos rodeos, pero a pesar de ello a�n no lo he conseguido, jugando con milisegundos y otras historias de las clases GregorianCalendar, Calendar y Date. �Alguien podr�a darme algo de luz? Gracias.
Re: resta de fechas
Author: arbeizaf
Date: Tue, 08 May 2007 07:33
Date: Tue, 08 May 2007 07:33
44 lines
2553 bytes
2553 bytes
On 8 mayo, 01:29, "pete" <pandiazQuitaE...@ya.com> wrote:
> Me gustaría que al restar dos variables fecha, me diese la diferencia en
> días. Puede que haya que dar muchos rodeos, pero a pesar de ello aún no lo
> he conseguido, jugando con milisegundos y otras historias de las clases
> GregorianCalendar, Calendar y Date.
Hola:
Mira a ver si te vale algo como esto:
public int diferenciaDias(Date fecha1, Date fecha2) {
Calendar calendario1 = Calendar.getInstance();
calendario1.setTime(fecha1);
Calendar calendario2 = Calendar.getInstance();
calendario2.setTime(fecha2);
int signo = 1;
if (calendario1.after(calendario2)) {
signo = -1;
Calendar temporal = calendario1;
calendario1 = calendario2;
calendario2 = temporal;
}
int dias = calendario2.get(Calendar.DAY_OF_YEAR) -
calendario1.get(Calendar.DAY_OF_YEAR);
int ano2 = calendario2.get(Calendar.YEAR);
while (calendario1.get(Calendar.YEAR) != ano2) {
dias +=
calendario1.getActualMaximum(Calendar.DAY_OF_YEAR);
calendario1.add(Calendar.YEAR, 1);
}
return signo * dias;
}
Pero cuidado, que está sin comprobar del todo.
Un saludo.
--
Fernando Arbeiza
Re: resta de fechas
Author: Eduardo Yáñez Parareda
Date: Tue, 08 May 2007 07:38
Date: Tue, 08 May 2007 07:38
9 lines
1292 bytes
1292 bytes
> Me gustar�a que al restar dos variables fecha, me diese la diferencia en > d�as. Puede que haya que dar muchos rodeos, pero a pesar de ello a�n no lo > he conseguido, jugando con milisegundos y otras historias de las clases > GregorianCalendar, Calendar y Date. > > �Alguien podr�a darme algo de luz? // Restamos en milisegundos, y dividimos entre 1000 para conseguir segundos * 86400 segundos que tiene un d�a (fechaHasta.getTime() - fechaDesde.getTime()) / (1000 * 86400)
Re: resta de fechas
Author: Odiseus kerfen
Date: Tue, 08 May 2007 12:30
Date: Tue, 08 May 2007 12:30
23 lines
1847 bytes
1847 bytes
El Tue, 08 May 2007 01:29:24 +0200, pete escribió: > Hola de nuevo. > > Algo que ya intenté semanas atrás me vuelve a dar problemas. > > Me gustaría que al restar dos variables fecha, me diese la diferencia en > días. Puede que haya que dar muchos rodeos, pero a pesar de ello aún no lo > he conseguido, jugando con milisegundos y otras historias de las clases > GregorianCalendar, Calendar y Date. > > ¿Alguien podría darme algo de luz? > > Gracias. copiate esta página web http://www.fourmilab.ch/documents/calendar/ y veras que lleva un documento javascript con todos los algoritmos para calculo de fechas, cambio de calendario etc. Todos los cambios se realizan cambiando las fechas a dias julianos. Si analizas los algoritmos que vienen en esa página, podrás hacer entre fechas sin problema tanto en gregoriano como en dias julianos, en calendario juliano, islámico o hebreo etc. Ánimo.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads