我想将当前日期与数据库中的给定日期进行比较,我想用此代码进行测试,但如果当前日期等于给定日期,则总是显示为
<%
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 %>
答案 0 :(得分:0)
if(date=="12/03/2014")
无效
使用if(date.equals("12/03/2014"))
当你使用==时,它会比较两个对象是否相同。这里的日期和“12/03/2014”是两个不同的String
对象。你总会弄错。
要比较您需要使用的对象的值.equals
。
注意:对于自定义对象,您需要使用等于方法来使用它。