首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

二个日期相隔天数的有关问题,错在哪里

2012-03-29 
二个日期相隔天数的问题,错在哪里?publicintGet_Date_Count(StringstartDate,StringendDate,intflag){Simp

二个日期相隔天数的问题,错在哪里?
public   int   Get_Date_Count(String   startDate,String   endDate,int   flag)
{
SimpleDateFormat   sf=new   SimpleDateFormat( "yyyyMMdd ");
Date   sDate   =   new   Date();
Date   eDate   =   new   Date();

sDate   =   sf.parse(startDate);//Unhandled   exception   type   ParseException
eDate=sf.parse(endDate);//Unhandled   exception   type   ParseException

//Date   sDate   =   sf.parse(startDate);

Calendar   c   =   Calendar.getInstance();
c.setTime(sDate);
long   ls   =   c.getTimeInMillis();
c.setTime(eDate);
long   le   =   c.getTimeInMillis();

getCnt=(int)   ((le-ls)/(24*3600*1000));

return   getCnt;
}

[解决办法]
sDate = sf.parse(startDate);//Unhandled exception type ParseException
eDate=sf.parse(endDate);//Unhandled exception type ParseException

上面两句应该这样写
sDate = new Date(sf.parse(startDate).getTime());
eDate = new Date(sf.parse(endDate).getTime());

[解决办法]
给你稍微改了一下:
public static int Get_Date_Count(String startDate, String endDate, int flag){
SimpleDateFormat sf = new SimpleDateFormat( "yyyyMMdd ");

try{
long ls = sf.parse(startDate).getTime();
long le = sf.parse(endDate).getTime();

return (int) ((le - ls) / (24 * 3600 * 1000));
}catch(Exception e){
e.printStackTrace();
}
return -1;
}

测试结果:
System.out.println (Get_Date_Count( "20070401 ", "20070403 ",1));
输出2!不知道是不是你要的结果?

热点排行