Android:将getDat()与当前日期进行比较

时间:2012-07-31 13:41:01

标签: android

我在下面有这个CalendarView

enter image description here

如果我点击那天是今天的日期,它会弹出一个对话框..但是如果你在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来比较两个日期因为比较单独的时间戳仍然不起作用(使用“> =”)

Btw烤面包已经改变,所以我可以看到正在比较的是什么值......在毫秒时它们确实是不同的但是当我将它格式化为MM / dd / yy应该是它会看到它是相同的...但是它不会通过if部分它将转到else部分..我将logsDate记录在logcat,logcat下面..

Logcat日志 enter image description here

2 个答案:

答案 0 :(得分:1)

您需要使用equals代替==来比较formatDate返回的字符串:

if(cw.getDate() >= currentTime || formatDate(cw.getDate()).equals(formatDate(currentTime)))

答案 1 :(得分:0)

您的弹出窗口没有显示,因为您将所有输入与当前日期进行比较尝试输入其他值进行比较,方法是添加以前的日期并再次尝试它会起作用:)