所以我试图将系统时间与时间选择器中输入的时间进行比较
为此,我将系统时间放置在一个字符串中,该字符串是变量cTime,并且是从时间选择器输入的时间,该时间在变量eTime中。
在执行此操作之前,我首先使用“ HH:mm”模式对系统时间进行了格式化,并在eTime中的小时和分钟前放置了“:”。
这是我的密码。
Date now = Calendar.getInstance().getTime();
cTime = currentTime.format(now);
eTime = String.valueOf(endTime.getCurrentHour()) + ":" +
String.valueOf(endTime.getCurrentMinute());
if(eTime.length() == 1) {
eTime = "0" + eTime;
}
if(eTime.equals(cTime)) {
String message = "Please select time properly";
warnUser(message);
return;
}
进行了一些检查之后,我发现if语句中的.equals方法返回false。
答案 0 :(得分:0)
通常.equals正确比较两个对象的内容,我已经用String类型使用它很多次了,所以请检查cTime和eTime的输入是否正确,可能存在一些额外的空格或'\ n'字符。
答案 1 :(得分:0)
使用Date而不是字符串eTime和cTime,或者与equalignorecase比较,它将起作用。
答案 2 :(得分:0)
在进行了一些代码检查之后,我发现我在当前时间之前添加了一个额外的空间,并变成了这样的“ 17:23”,并且在删除该空间后,它现在可以工作了。感谢您的帮助