Java - Numero de días

 
Vista:

Numero de días

Publicado por Pacholo (7 intervenciones) el 30/12/2005 18:41:26
Pues me ando buscando el codigo para calcular el numero de dias que hay entre dos fechas dadas por ejemplo entre 15/06/1994 y el 23/12/2000 por ejemplo. Teniendo las variables separadas es decir los dias en dos variables, los meses en dos variables, etc...

Algun alma caritativa que lo tenga exo me podria exar un cable, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:Numero de días

Publicado por Hugo Hidalgo (240 intervenciones) el 31/12/2005 01:13:33
Hola: Ok coloco el codigo fuente en la pagina pero ademas te envio el archivo completo con mis utilidades que he creado para la manipulacion de fechas ok?. Si alguien de la comunidad se interesa en que le envie el archivo se los envio, solo escribanme un email y ya ta.

Este pedazo de codigo solo es una parte de todos los metodos que implemente.

hay va!!!
/*
* @author Hugo Hidalgo
* version 1.0
*
* Estos metodos sirven para la manipulacion de fechas
*/

/*Este metodo devuelve el resultado en dias entre la resta de la fecha actual en curso y una fecha dada
* Recibe como parametro una fecha de tipo Date
* retorna un int (days)
*/

public static final int getDaysFechaActualMenosOtraF(Date restar) {
int days= 0;
long fHoy;
long fRestar;
long fResultado;
Date fechaHoy = new Date(); //Se obtiene la fecha actual del sistema

fHoy = fechaHoy.getTime();
fRestar = restar.getTime();
fResultado = (fRestar - fHoy); //Resultado en milisegundos
if(fResultado==0){
days = 0;
}

else {
fResultado = (fResultado/(24*60*60*1000))+ 1; //comvirtiendo los milisegundos a dias

if(fResultado<0) { //por si los dias son negativos
fResultado = (fResultado * (-1));
}
days = (int) fResultado;
}

return days;
}


/*Este metodo devuelve el resultado en dias entre la resta de la fecha actual en curso y una fecha dada
* Recibe como parametro una fecha de tipo Calendar
* retorna un int (days)
*/
public static final int getDaysFechaActualMenosOtraF(Calendar fechaRestar) {
int days = 0;
long fHoy;
long fRestar;
long fResultado;

Calendar fechaHoy = Calendar.getInstance(); //Se obtiene la fecha actual del sistema
fHoy = fechaHoy.getTimeInMillis();
fRestar = fechaRestar.getTimeInMillis();

fResultado = (fRestar - fHoy); //Resultado en milisegundos
if(fResultado==0){
days = 0;
}

else {
fResultado = (fResultado/(24*60*60*1000))+ 1; //comvirtiendo los milisegundos a dias

if(fResultado<0) { //por si los dias son negativos
fResultado = (fResultado * (-1));
}
days = (int) fResultado;
}


return days;
}

hay tienes la solucion ok, pero de todas maneras te envio el archivo con todas mis utilerias para fechas ok. BYE Y FELICES FIESTAS PARA TODOS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Numero de días

Publicado por Hugo Hidalgo (240 intervenciones) el 31/12/2005 05:42:31
A toda la comunidad, el codigo que imprimi anteriormente en esta pagina tiene un error en la funcionalidad, ya que cuando te daban una fecha igual a la del sistema te traia 1 dia cuando el resultado debia ser 0 dias, asi que vuelvo a imprimir el codigo con las nuevas lineas que corrigen el problema ok!!

public static final int getDaysFechaActualMenosOtraF(Date fechaRestar) {
int days= 0;
long fHoy;
long fRestar;
long fResultado;
Date fechaHoy = new Date(); //Se obtiene la fecha actual del sistema
if(fechaHoy.compareTo(fechaRestar)==1) {
days = 0;
}
else {

fHoy = fechaHoy.getTime();
fRestar = fechaRestar.getTime();
fResultado = (fRestar - fHoy); //Resultado en milisegundos
if(fResultado==0){
days = 0;
}

else {
fResultado = (fResultado/(24*60*60*1000))+ 1; //comvirtiendo los milisegundos a dias

if(fResultado<0) { //por si los dias son negativos
fResultado = (fResultado * (-1));
}
days = (int) fResultado;
}
}

return days;
}

/*Este metodo devuelve el resultado en dias entre la resta de la fecha actual en curso y una fecha dada
* Recibe como parametro una fecha de tipo Calendar
* retorna un int (days)
*/
public static final int getDaysFechaActualMenosOtraF(Calendar fechaRestar) {
int days = 0;
long fHoy;
long fRestar;
long fResultado;

Calendar fechaHoy = Calendar.getInstance(); //Se obtiene la fecha actual del sistema
if(fechaHoy.compareTo(fechaRestar)== 1 ) {
days = 0;
}
else {
fHoy = fechaHoy.getTimeInMillis();
fRestar = fechaRestar.getTimeInMillis();
fResultado = (fRestar - fHoy); //Resultado en milisegundos
if(fResultado == 0){
days = 0;
}

else {
fResultado = (fResultado/(24*60*60*1000))+ 1; //comvirtiendo los milisegundos a dias
if(fResultado<0) { //por si los dias son negativos
fResultado = (fResultado * (-1));
}
days = (int) fResultado;
}

}
return days;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Numero de días

Publicado por Hugo Hidalgo (240 intervenciones) el 31/12/2005 06:03:53
Pacholo, Perdon nuevamente, pero no me habia dado cuenta que tu querias los dias entre dos fechas dadas, y los metodos que te pase solo recibien una fecha y la restaban con la del sistema (fecha en curso), pero de todas maneras programe lo que querias y ya tengo ahora si tu anhelada respuesta ok hay va

y antes que me olvide los dias entre las fechas que pusiste son:
dias = 2383
i("15/06/94 ");
("23/12/00 ");

/*Este metodo devuelve el resultado en dias entre la resta de una fecha inicial contra otra fecha posterior
* Recibe como parametros dos fechas de tipo Calendar
* retorna un int (days)
*/
public static final int getDaysEntreDosFechasDadas(Calendar fInicial, Calendar fFinal) {
int days = 0;

long fechaI;
long fechaf;
long fResultado;

if(fInicial.compareTo(fFinal)== 1 ) {
days = 0;
}
else {
fechaI = fInicial.getTimeInMillis();
fechaf = fFinal.getTimeInMillis();
fResultado = (fechaf - fechaI); //Resultado en milisegundos
if(fResultado == 0){
days = 0;
}

else {
fResultado = (fResultado/(24*60*60*1000)); //comvirtiendo los milisegundos a dias
if(fResultado<0) { //por si los dias son negativos
fResultado = (fResultado * (-1));
}
days = (int) fResultado;
}

}

return days;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Numero de días

Publicado por Pacholo (7 intervenciones) el 31/12/2005 09:12:42
Muchas gracias Hugo me valen cualquiera de las dos soluciones ultimas xq entendiste bien al principio, necesitaba calcular los dias desde una fecha guardada en un fichero, hasta la fecha de hoy en el sistema. Voy a implementar tu codigo, en mi parte del codigo para calcularlo.
Muchisimas gracias y Feliz año nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar