Foros del Web » Programación para mayores de 30 ;) » Java »

obtener los dias que hay entre dos fechas

Estas en el tema de obtener los dias que hay entre dos fechas en el foro de Java en Foros del Web. Hola estoy haciendo un programita en netbeanas 6.8 en el cula tengo que obtener los dias que hay entre dos fechas que le pase por ...
  #1 (permalink)  
Antiguo 27/11/2011, 23:25
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Sonrisa obtener los dias que hay entre dos fechas



Hola estoy haciendo un programita en netbeanas 6.8 en el cula tengo que obtener los dias que hay entre dos fechas que le pase por un textField........el caso es que tengo que comparar los dias de vencimiento de un contrato y me face falta la diferencia de las fechas para luego ver cuando se me vence el contrato........espero q me puedan ayudar...... he buscado algunos codigos pero no me han combencido del todo......GRACIAS DE ANTEMANO...por su ayuda.....

..
  #2 (permalink)  
Antiguo 28/11/2011, 03:15
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: obtener los dias que hay entre dos fechas

buenas:

dos segundos con google http://txos.blogspot.com/2005/07/jav...entre-dos.html

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 28/11/2011, 08:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: obtener los dias que hay entre dos fechas

Por el momento nunca he tenido que hacerlo, pero en la URL que posteas veo que es mucho más fácil de lo que pensaba.

Un saludo.
  #4 (permalink)  
Antiguo 28/11/2011, 23:55
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Sonrisa Respuesta: obtener los dias que hay entre dos fechas



encotré este código pero la verdad es que no me fue bien ..... si las fechas están en el mimo mes y año y en diferentes dia me funciona Ejemplo: 10/02/2011 20/02/2011 me dice que hay 10 dias de diferencia hasta acá todo bien........pero si a una de las fechas le cambio el año o el mes......me da una diferencia de dias que la verdad no se de donde lo saca.....espero que me digan como funciona este código......acá se los dejo.....


public static int obtener_dis_entre_2_fechas(Date fechainicial, Date fechafinal) {

DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
String fechainiciostring = df.format(fechainicial);
try {
fechainicial = df.parse(fechainiciostring);
}
catch (ParseException ex) {
}

String fechafinalstring = df.format(fechafinal);
try {
fechafinal = df.parse(fechafinalstring);
}
catch (ParseException ex) {
}

long fechainicialms = fechainicial.getTime();
long fechafinalms = fechafinal.getTime();
long diferencia = fechafinalms - fechainicialms;
double dias = Math.floor(diferencia / 86400000L);// 3600*24*1000
return ( (int) dias);
}



  #5 (permalink)  
Antiguo 29/11/2011, 01:57
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: obtener los dias que hay entre dos fechas

Hola:

El código debe funcionar bien pero sólo hay que tener en cuenta un par de detalles.

las fechas deben tener la misma hora (normalmente 00:00:00, pero puede ser la que quieras). Si cada una tiene una hora distinta, puede salirte un día de más o de menos (desde hoy a las 00:00:01 a mañana a las 23:59:59 hay prácticamente dos días de diferencia, mientras que de hoy a las 23:59:59 a mañana a las 00:00:01 sólo hay un par de segundos).

No uses double, ni Math.floor(), usa long para todo directamente

Si no te va, pon un ejemplo concreto que te salga mal para ver qué es.

El cómo funciona es fácil, los Date.getTime() te devuelve el número de milisegundos que han transcurrido desde el 1 de Enero de 1970 a las 00:00:00 hasta la fecha/hora en cuestión.
Si restas esos milisegundos obtenidos de dos fechas, obtienes el número de milisegundos de diferencia que hay entre esas dos fechas.
Si divides esa diferencia entre 1000, obtienes el número de segundos de diferencia entre las dos fechas, si ahora divides entre 60 obtienes el número de minutos, si vuelves a dividir entre 60 son las horas y si divides entre 24 obtienes los días.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 29/11/2011 a las 02:03
  #6 (permalink)  
Antiguo 29/11/2011, 21:45
 
Fecha de Ingreso: enero-2011
Ubicación: Cuba
Mensajes: 124
Antigüedad: 13 años, 3 meses
Puntos: 1
Sonrisa Respuesta: obtener los dias que hay entre dos fechas


gracias por la sugerencias pero la verdad es que ya no se que hacer......cunado pongo las fechas con igual mes y años me da los días que hay entre las dos fechas correctamente ..... Ejemplo: fecha_Inicio="10/02/2011" y fecha_vencimiento="20/02/2011" eso me da como resultado que hay 10 dias entre las dos fechas ......pero si le cambio el mes o el año a una de las dos fechas me sigue dando el mismo resultado..........Ejemplo: fecha_Inicio="10/02/2011" y
fecha_vencimiento="20/03/2011" me da como resultado 10 tambien..... creo que lo que está haciendo es restar solamente los dias de las fechas sin tener en cuenta el mes ni el año..........espero que me entiendan y puedan darle solucion a mi problema...... Gracias de antemano.....
  #7 (permalink)  
Antiguo 30/11/2011, 03:40
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: obtener los dias que hay entre dos fechas

Hola iran394,
solo comentarte que he probado el ejemplo que te puso chuidang y funciona a la perfección, es decir, es lo que buscas. ¿Porque no lo usas?

Un saludo!
  #8 (permalink)  
Antiguo 30/11/2011, 03:58
Avatar de FiruzzZ  
Fecha de Ingreso: diciembre-2007
Ubicación: en casa
Mensajes: 470
Antigüedad: 16 años, 4 meses
Puntos: 41
Respuesta: obtener los dias que hay entre dos fechas

cuantas veces pensás postear y preguntar lo mismo?
dejate de pelotudear y ponete a pensar un poco.. ya te respondí un post similar hace 2 días
__________________
BadProgrammerException!
  #9 (permalink)  
Antiguo 30/11/2011, 10:21
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: obtener los dias que hay entre dos fechas

Hola:

Pon System.out para escribir las dos fechas que te pasan y System.out antes del return. Hazlo dentro del método obtener_dis_entre_2_fechas(), justo como primera línea y justo antes del return.

Las cuentas están bien y el problema puede ser que estés pasando mal los datos o escribiendo mal el resultado.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: dias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:22.