比较两个日期其间的天数并打印输出

比较两个日期之间的天数并打印输出

 在项目中经常会遇到日期之间的比较,今天又遇到了一个类似这样的事情,现在把解决的方法发布出来。

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

/**
 * 
 * @author michaelyang
 *
 */
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		Date date1,date2,date3;
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		try {//比较date1 和date2的大小 并把它们之间相差的天数加给date3,忽略时分秒
			date1 = sdf.parse("2011-2-27");
			date2 = sdf.parse("2011-3-2");
			date3 = sdf.parse("2011-3-4");
			
			long cacheData = (date2.getTime()-date1.getTime());
			System.out.println("___相差:"+cacheData/(1000*60*60*24)+"天");
			date3 = new Date(date3.getTime()+cacheData);
			System.out.println(sdf.format(date3));
			
		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}


	}
	


}

结果为:

  ___相差:3天
2011-03-07
 其实很简单:主要是通过把date转换为long数据进行比较!