fork(2) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10. public static void main (String[] args) throws java.lang.Exception
  11. {
  12. // obtenemos la fecha
  13. Calendar fecha = Calendar.getInstance();
  14. // restamos un mes
  15. fecha.add(Calendar.MONTH, -1);
  16. // calculamos el primer dia del mes anterior
  17. Calendar inicioMesAnterior = resetCalenderTime((Calendar)fecha.clone()); // clonamos la fecha
  18. inicioMesAnterior.set(Calendar.DAY_OF_MONTH, inicioMesAnterior.getActualMinimum(Calendar.DAY_OF_MONTH));
  19. // calculamos el ultimo dia del mes anterior
  20. Calendar finMesAnterior = resetCalenderTime2((Calendar)fecha.clone());
  21. finMesAnterior.set(Calendar.DAY_OF_MONTH, inicioMesAnterior.getActualMaximum(Calendar.DAY_OF_MONTH));
  22.  
  23. System.out.println("Fecha inicio mes anterior: " + inicioMesAnterior.getTime());
  24. System.out.println("Fecha fin mes anterior: " + finMesAnterior.getTime());
  25. }
  26.  
  27. public static Calendar resetCalenderTime(Calendar calendar) {
  28. calendar.set(Calendar.HOUR_OF_DAY, 0);
  29. calendar.set(Calendar.MINUTE, 0);
  30. calendar.set(Calendar.SECOND, 0);
  31. calendar.set(Calendar.MILLISECOND, 0);
  32. return calendar;
  33. }
  34.  
  35. public static Calendar resetCalenderTime2(Calendar calendar) {
  36. calendar.set(Calendar.HOUR_OF_DAY, 23);
  37. calendar.set(Calendar.MINUTE, 59);
  38. calendar.set(Calendar.SECOND, 59);
  39. calendar.set(Calendar.MILLISECOND, 999);
  40. return calendar;
  41. }
  42. }
Success #stdin #stdout 0.14s 321280KB
stdin
Standard input is empty
stdout
Fecha inicio mes anterior: Tue Dec 01 00:00:00 GMT 2015
Fecha fin mes anterior: Thu Dec 31 23:59:59 GMT 2015