关于提取两日期间隔的问题????
本人想把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???
------解决方案--------------------不可以
只能用上面的方法