java日期加減(以字串為輸入輸出的)
阿新 • • 發佈:2019-02-10
今天主要記錄下這幾天遇到的一個需求點,就是涉及java日期加減(字串輸入輸出)的一個演算法:
例如今天日期為2013-09-07,那麼輸入就是這個字串“2013-09-07”,想要的結果是這個日期加上一定數量天數如10天之後的日期,那期望的字串就是2013-09-17。
怎麼實現這個演算法,程式碼如下:
** * 獲取指定日後 後 dayAddNum 天的 日期 * @param day 日期,格式為String:"2013-9-3"; * @param dayAddNum 增加天數 格式為int; * @return */ public static String getDateStr(String day,int dayAddNum) { SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date nowDate = null; try { nowDate = df.parse(day); } catch (ParseException e) { e.printStackTrace(); } Date newDate2 = new Date(nowDate.getTime() + dayAddNum * 24 * 60 * 60 * 1000); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); String dateOk = simpleDateFormat.format(newDate2); return dateOk; }
上面的程式碼就實現了java日期加減-字串輸入輸出的需求,基本思路2點:
1、使用SimpleDateFormat 來做日期和字串的轉換。
2、使用Date的getTime()和x* 24 * 60 * 60 * 1000 的毫秒計算進行日期的加減。