fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6. import java.text.SimpleDateFormat;
  7.  
  8. /* Name of the class has to be "Main" only if the class is public. */
  9. class Ideone
  10. {
  11. private static SimpleDateFormat SDF =
  12. new SimpleDateFormat("dd/MM/yyyy");
  13.  
  14. public static void main (String[] args) throws java.lang.Exception
  15. {
  16. cini.setTime(
  17. SDF.parse("01/05/2017"));
  18. cfin.setTime(
  19. SDF.parse("15/05/2017"));
  20.  
  21. imprimirDia(
  22. Calendar.MONDAY,
  23. "Lunes",
  24. (GregorianCalendar) cini.clone(),
  25. (GregorianCalendar) cfin.clone());
  26.  
  27. System.out.println("Ahora lo bueno!");
  28. imprimirDia(
  29. Calendar.SATURDAY,
  30. "Sábado!!",
  31. (GregorianCalendar) cini.clone(),
  32. (GregorianCalendar) cfin.clone());
  33.  
  34. }
  35.  
  36. private static void imprimirDia(
  37. int diaSemanaBuscado,
  38. String nombreDia,
  39.  
  40.  
  41. int diaInicial = cini.get(Calendar.DAY_OF_WEEK);
  42. int diferenciaDias = diaSemanaBuscado - diaInicial; // dias que faltan para el primer lunes.
  43. if (diferenciaDias < 0) {
  44. diferenciaDias += 6;
  45. }
  46. cini.add(Calendar.DATE, diferenciaDias); // cini está en el primer lunes
  47. while (!cfin.before(cini)) {
  48. //dates.add(formatter.format(cini.getTime());
  49. System.out.println(nombreDia + ": " + SDF.format(cini.getTime()));
  50. cini.add(Calendar.DATE, 7); // Siguiente lunes
  51. }
  52. }
  53. }
Success #stdin #stdout 0.07s 4386816KB
stdin
Standard input is empty
stdout
Lunes: 01/05/2017
Lunes: 08/05/2017
Lunes: 15/05/2017
Ahora lo bueno!
Sábado!!: 06/05/2017
Sábado!!: 13/05/2017