我在下面有这个 CalendarView
如果我单击今天的日期,它将弹出一个对话框。但是如果您单击 CurrentDate 之前的日期,则不会弹出此日历,它只会说您无法在当前日期/时间之前添加事件.. 和如果我点击今天日期之后的任何一天,运行良好,但是当我点击今天的日期时,我会说一条消息,就像我点击之前的日期时一样......
这是我比较日期的代码
long currentTime;
Date curr = new Date();
currentTime = curr.getTime();
if(cw.getDate() >= currentTime || formatDate(cw.getDate()) == formatDate(currentTime))
{
Dialog d = new Dialog(ScheduleActivity.this);
//some code for setting up the dialog
d.show();
}
else
{
Toast toast = Toast.makeText(ScheduleActivity.this, Long.toString(cw.getDate())+" || "+Long.toString(currentTime),10000);
toast.show();
Log.d("timecheck", formatDate(cw.getDate())+" || "+ formatDate(currentTime));
}
我只是使用格式为 MM/dd/yyyy 的 formatDate 来比较两个日期,因为单独比较时间戳仍然不起作用(使用 ">=" )
顺便说一句,吐司发生了变化,所以我可以看到正在比较的值......以毫秒为单位,它们确实是不同的,但是当我将其格式化为 MM/dd/yy 时,它会认为它是相同的......但它不会通过 if 部分,它将进入 else 部分.. 我在 logcat 中记录了 formattedDate,logcat 下面..
Logcat 日志