日期:2014-05-18  浏览次数:20718 次

关于提取两日期间隔的问题????
本人想把String类型的形如 "2007-3-28 "转换成date类型,再用函数提取间隔,代码如下
String   stTime= "2007-5-3 ";
String   endTime= "2007-6-3 ";
Date   startdatetime=DateUtil.toDate(stTime, "yyyy-MM-dd ");              
Date   enddatetime=DateUtil.toDate(edTime, "yyyy-MM-dd ")     ;
long   days=(long)DateUtil.getDaysBetween(startdatetime,enddatetime);
代码出错,请各位高手指点.急!!!

------解决方案--------------------
/**
* 返回两个日期相隔天数
* @param beginDate
* @param endDate
* @return 天数
*/
public long getBetweenDays(Date beginDate, Date endDate) {

long beginTime = beginDate.getTime();

long endTime = endDate.getTime();

long betweendays = (long) ((endTime - beginTime)
/ (1000 * 60 * 60 * 24) + 0.5);

return betweendays;
}


/**
* 将字符串转换成日期型
* @param date
* @return Date型日期
* @throws ParseException
*/
public Date toDate(String date){
Date result = null;
try{
SimpleDateFormat sdf = new SimpleDateFormat( "yyyy-MM-dd ");
result = sdf.parse(date);
}catch (ParseException e){
System.out.println(e.getMessage());
}
return result;
}
------解决方案--------------------
楼上写的不错,呵呵
------解决方案--------------------
DateUtil 怎么定义的
------解决方案--------------------
想问一下!
long betweendays = (long) ((endTime - beginTime)
/ (1000 * 60 * 60 * 24) + 0.5);
为什么要加0.5???
------解决方案--------------------
不可以
只能用上面的方法