计算:

2012-3-17"到"2012-4-6"中间有多少天?


import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateDemos2 {
// 练习:
 //   "2012-3-17"到"2012-4-6"中间有多少天?
	/**写作思路
	1. 将日期格式的字符串转成Date对象。
    2. 将Date对象转成毫秒值。
    3. 相减,编程天数。
	 * @throws Exception */
	public static void main(String[] args) throws Exception 
	{
		// TODO Auto-generated method stub
		String s1 = "2012-3-17" ;
		String s2 = "2012-4-6" ;
		//调用自定义方
		dateToDemos(s1,s2);
	}

private static void dateToDemos(String s1, String s2) throws Exception {
	// 将字符串中的日期转换成Date格式
	DateFormat df = DateFormat.getDateInstance();
	//格式式日期对象
	df = new SimpleDateFormat("yyyy-MM-dd");
	//将字符串中的日期转换成Date对象中的日期
	Date date1 = df.parse(s1);
	Date date2 = df.parse(s2);
	//获取对应日期对应的时间毫秒值
	long time1 = date1.getTime();
	long time2 = date2.getTime();
	long times = Math.abs(time2-time1);
	System.out.println(times);
	int day = getDay(times);
	System.out.println(s1+" 与   "+s2+"  相差:"+day+" 天");
	
}
private static int getDay(long times) {
	// TODO Auto-generated method stub
	return   (int)(times/1000/60/60/24);
}

}

运行程序得:

java基础—计算: 2012-3-17"到"2012-4-6"中间有多少天?_Java开发