java access 计算日期

来源:百度知道 编辑:UC知道 时间:2024/05/07 14:35:12
long day=0;
DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
rs=st.executeQuery("select * from borrow");
while(rs.next()){
try {
Date d1 = df.parse(rs.getString("borrowDate")));
Date d2 = df.parse(rs.getString("returnDate")));
long diff=d1.getTime()-d2.getTime();
day=diff/1000/60/60/24;
} catch (ParseException e1) {
e1.printStackTrace();
}
说明:
returnDate borrowDate 是access数据库中的两个列名
想要实现的功能是分别取出来并计算两个日期差多少天
如果把df.parse(rs.getString("borrowDate")));中的rs.getString("borrowDate"))直接换成具体的日期时间的话可以正常
但是这样的话就提示 No date find
调试了一下 d1无法解析
麻烦那位高手帮忙看一下
最好贴出(类似此段)完整点的代码
首先 谢谢各位的回答
不好意思
上面程序中多半个“)”是我转上来时疏忽 程序里没错 不然编译器会提示
还有 那个包引入就是java.util.Date 不然编译器会提示要强转成Date型的

如果大家看这段代码不知所云的话
麻烦大家贴一段出来 功能就是取出access中的两个日期(类型就是日期),并计算相差多少天
最好是自己测试成功的
不要只讲思路
代码最好完整 谢谢!

import java.sql.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTestAccess {

private static Connection conn;
private static ResultSet rs;
private static Statement stmt;

public static Connection getConnection(){//连接数据库
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(Exception e){
System.out.println("加载驱动失败\n"+e);
}
conn=null;
try{
conn=DriverManager.getConnection( "jdbc:odbc:borrow");
if(conn!=null){
System.out.println("加载驱动成功!\n");
return conn;
}
else{
return null;
}
}catch(SQLException e){
System.out.println("加载驱动异常!\n");
e.printStackTrace();
return null;
}
}

public static void main(String args[]){

con