簡體   English   中英

比較java中的日期不能按預期工作

[英]Comparing dates in java not working as expected

我想比較2個日期1從用戶傳遞參數,另一個是當前日期。 現在對於以下代碼,只有當2個日期之間的間隔比例大於1時才能工作。例如,如果我選擇日期10/12/2015並且當前日期是9/12/15我得到了假,但如果選擇了日期是2015年12月11日,當前日期是9/12/15我知道了。

這是我的代碼:

chosen_date = bundle.getString("date");
if ((new SimpleDateFormat("dd/MM/yyyy").parse(chosen_date).getTime() / (1000 * 60 * 60 * 24)) > System.currentTimeMillis() / (1000 * 60 * 60 * 24)) {
     datecompre = true;
     Log.d("date equ","date is bigger");
} else {
     datecompre = false;
     Log.d("date equ","date is smaller");
}

我建議你使用Date.after()Date.before()方法。

這是一個例子:

try{

    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date date1 = sdf.parse("yourFirstDate"); //or just "new Date();" if you want the current date
    Date date2 = sdf.parse("yourSecondDate"); 

    if(date1.after(date2)){
       Log.d("Date1 is after Date2");
    } else if(date1.before(date2)){
       Log.d("Date1 is before Date2");
    } else {
       Log.d("Date1 is equal Date2");
    }

}catch(ParseException e){
     e.printStackTrace();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM