这么写就行了
import java.util.Date;
import java.text.SimpleDateFormat;
public class DateTest {
public static void main(String[] args) throws Exception {
Date date1 = new SimpleDateFormat("yyyy-mm-dd").parse("2008-01-01");
Date date2 = new SimpleDateFormat("yyyy-mm-dd").parse("2009-09-01");
// 日期相减得到相差的日期
long day = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000) > 0 ? (date1
.getTime() - date2.getTime())
/ (24 * 60 * 60 * 1000)
: (date2.getTime() - date1.getTime()) / (24 * 60 * 60 * 1000);
long day1 = date1.getTime();
Date sb = new Date();
sb.setTime(day1);
System.out.println("相差的日期: " + day);
}
}
楼上的代码有点小问题,修改了一下
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateTest {
public static void main(String[] args) throws Exception {
Date date1 = new SimpleDateFormat("yyyy-MM-dd").parse("2008-01-01");
Date date2 = new SimpleDateFormat("yyyy-MM-dd").parse("2008-09-01");
// 日期相减得到相差的日期
long day = (date1.getTime() - date2.getTime()) / (24 * 60 * 60 * 1000) ;
System.out.println("相差的日期: " + Math.abs(day));
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class Days
{
public static void main(String[] args)
{
String d1 = "2008年1月1日";
String d2 = "2008年9月1日";
int sub = new Days().subDays(d1,d2);
System.out.println(sub);
}
public int subDays(String d1,String d2)
{
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
int subDay = 0;
try
{
//求出过去的日期
Date date1 = (Date) sdf.parse(d1);
//现在日期
Date date2 = (Date) sdf.parse(d2);
//两个日期毫秒数相减,然后除以一天的毫秒数
subDay = (int)( ((date2.getTime()-date1.getTime())/(1000*24*60*60)));
} catch (ParseException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return subDay;
}
}
不会,估计,哥们我坦诚吧