如何比较今天的日期和给定的日期

时间:2014-03-12 06:47:27

标签: jsp

我想将当前日期与数据库中的给定日期进行比较,我想用此代码进行测试,但如果当前日期等于给定日期,则总是显示为

<%
   Date now = new Date();
   DateFormat df  =new SimpleDateFormat("dd/MM/yyyy");
  String date= String.valueOf(df.format(now));
  out.println(date);
   if(date=="12/03/2014")
 {
 out.println("true");
 }
  else
 {
    out.println("false");
  }

 %>

这是我的真实代码:其实我想检查一下是否与当前日期相匹配,然后从总工作日减去请帮助我。怎么做

   <%
       String mon=session.getAttribute("str1").toString();// mon,tue,... is given date in database
       String tue=session.getAttribute("str2").toString();
       String wed=session.getAttribute("str3").toString();
       String thr=session.getAttribute("str4").toString(); 
       String fri=session.getAttribute("str5").toString();
        Date now =new Date();
        DateFormat df =new SimpleDateFormat("dd/MM/yyyy");
        String changedate= String.valueOf(df.format(now));
       if( changedate== mon || changedate==tue || changedate==wed || changedate==thr || changedate==fri)
         {
           // "a" is total number of taken leave by employee like 1,2,3... days 
           String a=session.getAttribute("str16").toString();
            int y=Integer.parseInt(a);
           }
           else{
           //  i am not getting any idea if employee did not take any leave then subtract 0 from total working day
               }


   %>
     here display actual working day  
    <td><%= totalworkingday-y %>

1 个答案:

答案 0 :(得分:0)

if(date=="12/03/2014")无效

使用if(date.equals("12/03/2014"))

当你使用==时,它会比较两个对象是否相同。这里的日期和“12/03/2014”是两个不同的String对象。你总会弄错。

要比较您需要使用的对象的值.equals

注意:对于自定义对象,您需要使用等于方法来使用它。