java對日期時間的增減
阿新 • • 發佈:2019-02-03
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Util { static SimpleDateFormat sdf = new SimpleDateFormat("YYYY-mm-dd"); /** * Java Calender類獲得指定日期加幾天 * * @param specifiedDay * @param d day * @return */ public static String getSpecifiedDayAfter(String specified,int d) { Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-MM-dd").parse(specified); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); int day = c.get(Calendar.DATE); c.set(Calendar.DATE, day + d); String dayAfter = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); return dayAfter; } /** * Java Calender類獲得指定日期加N月 * * @param specifiedDay * @return */ public static String getSpecifiedMonthAfter(String specified,int month) { Calendar c = Calendar.getInstance(); Date date = null; try { date = new SimpleDateFormat("yy-MM-dd").parse(specified); } catch (ParseException e) { e.printStackTrace(); } c.setTime(date); c.add(Calendar.MONTH,month); // int day = c.get(Calendar.DATE); // c.set(Calendar.DATE, day - 1); String dayAfter = new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()); return dayAfter; } /** * 比較兩個時間的大小 * @param DATE1 * @param DATE2 * @return */ public static int compare_date(String DATE1, String DATE2) { int a = 0; try { Date dt1 = sdf.parse(DATE1); Date dt2 = sdf.parse(DATE2); if (dt1.getTime() > dt2.getTime()) { //System.out.println("dt1 在dt2前"); a = 1; } else if (dt1.getTime() < dt2.getTime()) { //System.out.println("dt1在dt2後"); a = 2; }else{ System.out.println("兩個時間相等"); a = 0; } } catch (Exception exception) { exception.printStackTrace(); } return a; } }