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

Fecha dentro de Fecha

Estas en el tema de Fecha dentro de Fecha en el foro de Java en Foros del Web. Hola , gracias a todos antes que nada por leerme, a ver si me podeis ayudar ya que ya llevo horas con un dolor de ...
  #1 (permalink)  
Antiguo 02/12/2012, 14:54
 
Fecha de Ingreso: septiembre-2006
Mensajes: 28
Antigüedad: 17 años, 7 meses
Puntos: 0
Fecha dentro de Fecha

Hola , gracias a todos antes que nada por leerme, a ver si me podeis ayudar ya que ya llevo horas con un dolor de cabeza impresionante. Bueno lo que tengo que hacer es fácil, dada la fecha en la que estamos (por ejemplo el 02/12/12) tengo que ver si otra fecha (ej: el 29/30/2012) está dentro de la semana de la primera fecha. Yo esperaba encontrar alguna función mágica en Java que me lo hiciera pero no lo encuentro, y la solucion a esto pasa por tener en cuenta muchas cosas, como por ejemplo si el mes tiene 30 o 31 dias o si el año es bisiesto(maldito febrero) o si es cambio de año. A ver si me podeis ayudar. Muchas Gracias
Donis
  #2 (permalink)  
Antiguo 02/12/2012, 15:35
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 12 años, 4 meses
Puntos: 34
Respuesta: Fecha dentro de Fecha

Prueba con esto:
Solo falta comprobar que el mes y el año sea el mismo, pero ya te lo dejo a ti.
Código java:
Ver original
  1. Calendar calendar = Calendar.getInstance();
  2.         calendar.set(Calendar.YEAR, 2012);
  3.         calendar.set(Calendar.MONTH, 12);
  4.         calendar.set(Calendar.DAY_OF_MONTH, 10);
  5.         int firstDay = calendar.get(Calendar.DAY_OF_MONTH);
  6.         int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH);
  7.         int leftDays = 7 - dayOfWeek;
  8.         System.out.printf("Le restan: %d dias a la semana\n", leftDays);
  9.         calendar.set(Calendar.YEAR, 2012);
  10.         calendar.set(Calendar.MONTH, 12);
  11.         calendar.set(Calendar.DAY_OF_MONTH, 15);
  12.         int day = calendar.get(Calendar.DAY_OF_MONTH);
  13.         if (day > firstDay - dayOfWeek && day <= firstDay + leftDays) {
  14.             System.out.println("Es un dia de la semana actual");
  15.         } else {
  16.             System.out.println("No es un dia de la semana actual");
  17.         }

En la documentación viene mucha información de como utilizar la clase Calendar.

Última edición por LuisChavezB; 02/12/2012 a las 15:46

Etiquetas: fecha
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 10:57.