在项目中经常会遇到日期之间的比较,今天又遇到了一个类似这样的事情,现在把解决的方法发布出来。
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数据进行比较!