package app;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

/**
 * @author Rock
 */
public class Test {
	public static void main(String[] args) throws ParseException {
		Scanner sc = new Scanner(System.in); 
        System.out.println("请输入指定日期(格式20180117):"); 
        String dates = sc.nextLine(); 
        System.out.println("请输入指定天数:"); 
        String day = sc.nextLine(); 
        getDate(dates, day);
	}
	
	public static String getDate(String dates,String day) {
		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); // 日期格式
		Date date = null;
		Date newDate = null;
		try {
			date = dateFormat.parse(dates); // 指定日期
			newDate = addDate(date, Integer.valueOf(day)); // 指定日期天数
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		System.out.println(dateFormat.format(date));// 输出格式化后的日期
		System.out.println(dateFormat.format(newDate));
		return dateFormat.format(newDate);
	}

	public static Date addDate(Date date, long day) throws ParseException {
		long time = date.getTime(); // 得到指定日期的毫秒数
		day = day * 24 * 60 * 60 * 1000; // 要加上的天数转换成毫秒数
		time += day; // 相加得到新的毫秒数
		// time -= day; // 相减得到新的毫秒数
		return new Date(time); // 将毫秒数转换成日期
	}
}

当前时间减一天 java  java当前日期减去指定日期_java