Use the Calendar Object of java to obtain the last few degrees of start and end time of the current date, javacalendar
Ideas:
Obtain the start and end dates of the current quarter, and push the start and end dates of the previous quarter three months forward based on the current date.
/*** @ Param flag true: Start date; false: end date * @ return */public static String getLastQuarterTime (boolean flag) {SimpleDateFormat required SDF = new SimpleDateFormat ("yyyy-MM-dd"); SimpleDateFormat longSdf = new SimpleDateFormat ("yyyy-MM-dd HH: mm: ss "); string resultDate = ""; Date now = null; try {Calendar calendar = Calendar. getInstance (); int currentMonth = calendar. get (Calendar. MONTH) + 1; // true: Start date; false: end date if (flag) {if (currentMonth> = 1 & currentMonth <= 3) calendar. set (Calendar. MONTH, 0); else if (currentMonth> = 4 & currentMonth <= 6) calendar. set (Calendar. MONTH, 3); else if (currentMonth> = 7 & currentMonth <= 9) calendar. set (Calendar. MONTH, 6); else if (currentMonth> = 10 & currentMonth <= 12) calendar. set (Calendar. MONTH, 9); calendar. set (Calendar. DATE, 1); now = longSdf. parse (fig. format (calendar. getTime () + "00:00:00");} else {if (currentMonth> = 1 & currentMonth <= 3) {calendar. set (Calendar. MONTH, 2); calendar. set (Calendar. DATE, 31);} else if (currentMonth> = 4 & currentMonth <= 6) {calendar. set (Calendar. MONTH, 5); calendar. set (Calendar. DATE, 30);} else if (currentMonth >=7 & currentMonth <= 9) {calendar. set (Calendar. MONTH, 8); calendar. set (Calendar. DATE, 30);} else if (currentMonth >=10 & currentMonth <= 12) {calendar ar. set (Calendar. MONTH, 11); calendar. set (Calendar. DATE, 31);} now = longSdf. parse (fig. format (calendar. getTime () + "23:59:59");} calendar. setTime (now); // set the date calendar. add (Calendar. MONTH,-3); resultDate = longSdf. format (calendar. getTime ();} catch (Exception e) {;} return resultDate ;}