1. 程式人生 > >java日期加減(以字串為輸入輸出的)

java日期加減(以字串為輸入輸出的)

    今天主要記錄下這幾天遇到的一個需求點,就是涉及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 的毫秒計算進行日期的加減。