2013-10-04 310 views
0

我想從Java Date/Calender類獲取最後一個日期的最後日期。獲取最後一個Java日期/日曆的最後日期

例如:

If current date = 3rd Oct 

Lat Quater Last Date : 30th Sept. 

我能夠得到同樣的使用date.getMonth()方法,但這些方法是depricated,不知道什麼更好的辦法才達到相同。

+0

請注意放棄票的原因,我沒有找到相同的問題。 – Swagatika

回答

1

對於日期操作,您應該使用Calendar。這可能不是最有效的方式,但它適用於您的問題:

public Date calculateLastDayOfLastQuarter(Date date) { 
    Calendar calendar = Calendar.getInstance(); 
    calendar.setTime(date); 

    SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy"); 
    int year = calendar.get(Calendar.YEAR); 

    try { 
     switch (calendar.get(Calendar.MONTH)) { 
     case Calendar.JANUARY: 
     case Calendar.FEBRUARY: 
     case Calendar.MARCH: 
      return sdf.parse("31.12." + (year - 1)); 
     case Calendar.APRIL: 
     case Calendar.MAY: 
     case Calendar.JUNE: 
      return sdf.parse("31.03." + year); 
     case Calendar.JULY: 
     case Calendar.AUGUST: 
     case Calendar.SEPTEMBER: 
      return sdf.parse("30.06." + year); 
     case Calendar.OCTOBER: 
     case Calendar.NOVEMBER: 
     case Calendar.DECEMBER: 
      return sdf.parse("30.09." + year); 
     default: 
      return null; 
     } 
    } catch (ParseException e) { 
     e.printStackTrace(); 
     return null; 
    } 
} 
+0

謝謝,我一直在尋找這個。 – Swagatika