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

Como recorrer fechas?

Estas en el tema de Como recorrer fechas? en el foro de Java en Foros del Web. Hola a todos! Estoy intentando recorrer un intérvalo de tiempo, pero no sé cómo plantearlo. Tengo en un String la fecha inicial y en otro ...
  #1 (permalink)  
Antiguo 28/02/2006, 05:02
Avatar de paskiller  
Fecha de Ingreso: marzo-2005
Mensajes: 13
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Como recorrer fechas?

Hola a todos! Estoy intentando recorrer un intérvalo de tiempo, pero no sé cómo plantearlo.

Tengo en un String la fecha inicial y en otro la fecha final. También tengo guardado el dia de la semana en otra variable porque mi propósito es: hacer un insert para ese dia de la semana de todos los días dentro del intérvalo.

Pongo un ejemplo porque no sé si me explico:

Si las fechas elegidas son del 01/01/2006 al 01/02/2006 y el dia de la semana elegido es el 1 (Lunes para MySQL).

Pues debería hacer un insert para cada lunes dentro del intérvalo.

Espero que alguien me de un poco de luz.

Gracias
  #2 (permalink)  
Antiguo 28/02/2006, 07:03
 
Fecha de Ingreso: noviembre-2005
Mensajes: 12
Antigüedad: 18 años, 6 meses
Puntos: 0
re: recorrer fechas

Hola!!!

pues creo que el codigo iría por este lado:

Rango (27/02/06 - 27/04/06) Dia 1(lun)

// desde aqui empieza tu recorrido
Date intervalo = new Date(2006-02-27);
// este es el limite.
Date fecha_fin = new Date(2006-04-27);

while (intervalo.getTime() < fecha_fin.getTime() ){
// Haces lo que tu quieres, para ese dia;
// Incrementas una semana (86400000 es un dia en milisegundos)
intervalo.setTime((long) intervalo.getTime()+(86400000*7))
}

si el dia elegido no es el primero de tu rango...
1) obtienes el dia de la semana de tu primer dia en el rango.
2) incrementas un dia (86400000) y de nuevo obtienes el dia de la semana; si es, listo empiezas el while, si no de nuevo (2).

al rato, si tengo tiempo lo hago y te lo envio, si no, espero que esta explicacion algo "abstracta" te sirva.
  #3 (permalink)  
Antiguo 09/02/2009, 16:25
 
Fecha de Ingreso: noviembre-2008
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Como recorrer fechas?

Encontre esta clase esta como vacana, vacana

import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;

public class DateIterator implements Iterator<Date>, Iterable<Date> {

private Calendar start = Calendar.getInstance();
private Calendar end = Calendar.getInstance();
private Calendar current = Calendar.getInstance();

public DateIterator(Date start, Date end) {
this.start.setTime(start);
this.end.setTime(end);
this.current.setTime(start);
}

public boolean hasNext() {
return !current.after(end);
}

public Date next() {
current.add(Calendar.DATE, 1);
return current.getTime();
}

public void remove() {
throw new UnsupportedOperationException("Cannot remove");
}

public Iterator<Date> iterator() {
return this;
}

// public static void main(String[] args) {
// Date d1 = new Date();
// Calendar cal = Calendar.getInstance();
// cal.add(Calendar.DATE, 20);
// Date d2 = cal.getTime();
// Iterator<Date> i = new DateIterator(d1, d2);
// while (i.hasNext()) {
// Date date = i.next();
// System.out.println(date);
// }
// }
}
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 13:37.