No necesitas que sea un String para separar así la fecha. Puedes usar la clase
SimpleDateFormat para dar formato a las fechas. Prueba este ejemplo:
Código Java:
Ver originalpublic class Ejemplo {
public static void main
(String args
[]) { // Instanciamos la clase Ejemplo
Ejemplo ejm = new Ejemplo();
// Creamos las fechas utilizando la clase Calendar (recomendado)
c1.set(2014, 02, 01); // Recuerda, en Java los meses empiezan desde 0
// por lo tanto el mes 02 equivale a Marzo.
c2.set(2014, 02, 18);
// Obtenemos la lista de fechas utilizando el método que está líneas más abajo
java.util.List<Date> listaEntreFechas = ejm.getListaEntreFechas(c1.getTime(), c2.getTime());
// Creamos el SimpleDateFormat con nuestro patrón deseado E yyyy-MM-dd
// Recorremos la lista
for (Date date
: listaEntreFechas
) { // Imprimimos en consola la fecha formateada
System.
out.
println(sdf.
format(date
)); }
}
/**
* Método para obtener una lista con fechas en el intervalo indicado
* @param fechaInicio Fecha inicial del intervalo
* @param fechaFin Fecha final del intervalo
* @return Fecha final
*/
public java.
util.
List<Date
> getListaEntreFechas
(Date fechaInicio,
Date fechaFin
) { // Convertimos la fecha a Calendar, mucho más cómodo para realizar
// operaciones a las fechas
c1.setTime(fechaInicio);
c2.setTime(fechaFin);
// Lista donde se irán almacenando las fechas
java.util.List<Date> listaFechas = new java.util.ArrayList<Date>();
// Bucle para recorrer el intervalo, en cada paso se le suma un día.
while (!c1.after(c2)) {
listaFechas.add(c1.getTime());
}
return listaFechas;
}
}
Verás que la salida es justo lo que deseas:
Código:
sáb 2014-03-01
dom 2014-03-02
lun 2014-03-03
mar 2014-03-04
mié 2014-03-05
jue 2014-03-06
vie 2014-03-07
sáb 2014-03-08
dom 2014-03-09
lun 2014-03-10
mar 2014-03-11
mié 2014-03-12
jue 2014-03-13
vie 2014-03-14
sáb 2014-03-15
dom 2014-03-16
lun 2014-03-17
mar 2014-03-18
Y así evitas nuevamente la concatenación de Strings.
Te recomiendo este enlace:
http://chuwiki.chuidiang.org/index.p...mpleDateFormat
En la documentación oficial puedes ver las letras patrones (d, y, M, E) que se utilizan en Java para formatear fechas:
http://docs.oracle.com/javase/6/docs...ateFormat.html
Saludos.