不成功地将java.util.date与java.sql.date进行比较

时间:2016-02-26 03:03:33

标签: java sql-server

我正在编写此段代码,以便将查询与数据库与当前日期进行比较,以便判断学生是否已经在课程中进行了检查。我可以将它们都转换为字符串,它们看起来相同,但它们在字节级别上有所不同,if语句仍然返回false。可以做些什么?

这也行不通。

java.sql.Date date = new Date();

它给出了一个错误,这就是我尝试使用前两行将格式更改为.sql.Date的原因。它没有帮助,但我把它留在那里以显示我尝试过的东西。

这是代码

public boolean checkTodaysAttendance(int ID){
    //date stuff
    java.util.Date date = new java.util.Date();
    java.sql.Date sqlDate = new java.sql.Date(date.getTime());

    //System.out.println(sqlDate);
    boolean attend = false;
    try {
        PreparedStatement statement = con.prepareStatement("SELECT Date FROM attendance WHERE ID="+ID);
        rs1 = statement.executeQuery();
        while(rs1.next()) {
            //System.out.println(rs1.getDate("Date"));
            if (rs1.getDate("Date").toString().trim(). == sqlDate.toString().trim()) { //my problem is on this line
                attend = true;                 //string don't equal at a byte level
            }
        }

    }catch(Exception ex){
        System.out.println(ex);
    }
    //System.out.println(attend);
    return attend;
}

1 个答案:

答案 0 :(得分:0)

使用简单的日期格式将两个日期更改为字符串,然后进行比较。

SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd-hh.mm.ss”);

// create a new String using the date format we want
String dateString= formatter.format(date);