fork(2) download
  1. import java.time.LocalDate;
  2. import java.time.Month;
  3. import java.time.temporal.ChronoField;
  4.  
  5. public class Main {
  6. public static void main(String[] args) {
  7. System.out.println(getQuarter(LocalDate.now()));
  8. }
  9.  
  10.  
  11. /*
  12.   * @param date1
  13.   * First given date cannot be null
  14.   * @param date2
  15.   * Second given date cannot be null
  16.   */
  17. public static int getQuartersBetweenDates(LocalDate date1, LocalDate date2) {
  18. LocalDate beginn = null;
  19. LocalDate end = null;
  20. if (date1.isBefore(date2)) {
  21. beginn = date1;
  22. end = date2;
  23. } else {
  24. beginn = date2;
  25. end = date1;
  26. }
  27. int quarters = getQuarter(end) - getQuarter(beginn);
  28. int years = end.get(ChronoField.YEAR) - beginn.get(ChronoField.YEAR);
  29. quarters += years * 4;
  30. return Math.abs(quarters);
  31. }
  32.  
  33. public static int getQuarter(LocalDate cal) {
  34. int month = cal.get(ChronoField.MONTH_OF_YEAR);
  35. switch (Month.of(month)) {
  36. case JANUARY:
  37. case FEBRUARY:
  38. case MARCH:
  39. default:
  40. return 0;
  41. case APRIL:
  42. case MAY:
  43. case JUNE:
  44. return 1;
  45. case JULY:
  46. case AUGUST:
  47. case SEPTEMBER:
  48. return 2;
  49. case OCTOBER:
  50. case NOVEMBER:
  51. case DECEMBER:
  52. return 3;
  53. }
  54. }
  55.  
  56. }
  57.  
Success #stdin #stdout 0.09s 34040KB
stdin
Standard input is empty
stdout
3