Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不比较日期_Java_Android_Date - Fatal编程技术网

Java 不比较日期

Java 不比较日期,java,android,date,Java,Android,Date,在我的应用程序中,我想比较两个日期,我的下一个到期日必须等于并大于当前日期。我对它进行了编码,但它不起作用:(代码中有哪些更正可以使我获得所需的结果,请帮助 我的Java代码 public void CompareDates(){ Calendar date = Calendar.getInstance(); Calendar next_due_on = Calendar.getInstance(); if(date.before(next_due_on))

在我的应用程序中,我想比较两个日期,我的下一个到期日必须等于并大于当前日期。我对它进行了编码,但它不起作用:(代码中有哪些更正可以使我获得所需的结果,请帮助

我的Java代码

public void CompareDates(){
      Calendar date = Calendar.getInstance();
      Calendar next_due_on = Calendar.getInstance();

    if(date.before(next_due_on))
    System.out.print("Current date(" + new SimpleDateFormat("dd/MM/yyyy").
    format(next_due_on.getTime()) + ") is greater than the given date " + new
    SimpleDateFormat("dd/MM/yyyy").format(date.getTime()));
          else
      System.out.print("Both date are equal.");
      }

 date_txtbx = (EditText) findViewById(R.id.date_txtbx);
        date_txtbx.setText(" " 
        + String.valueOf(java.text.DateFormat.getDateTimeInstance()
                                    .format(Calendar.getInstance().getTime())));

        next_due_on_txtbx = (EditText) findViewById(R.id.next_due_on_txtbx);
        next_due_on_txtbx.setText(non_ticket_task.next_due_on);
来的太快了,试试看

Calendar date = Calendar.getInstance();
Calendar next_due_on = Calendar.getInstance();
System.out.println(date.getTimeInMillis());
System.out.println(next_due_on.getTimeInMillis());
你会发现以毫秒为单位的时间是一样的

1356345814527
1356345814527
日期日期1;
日期2;
[...]
Calendar c1=Calendar.getInstance();
c1.设定时间(日期1);
Calendar c2=Calendar.getInstance();
c2.设定时间(日期2);
int result=c1。与(c2)比较;//如果相等,则为0;如果c1在c2之前,则为<0;如果c1在c2之后,则为>0
temp将为1,0,-1您可以做出选择并从中获取布尔值

尝试下面的代码

public static void main(String[] args)
{

    Calendar dueDate = Calendar.getInstance();
    System.out.println(isDueDateValid(dueDate));

    dueDate.add(Calendar.MONTH, -1);    
    System.out.println(isDueDateValid(dueDate));

    dueDate.add(Calendar.MONTH, 2); 
    System.out.println(isDueDateValid(dueDate));
}



public static boolean isDueDateValid(Calendar dueDate)
{
    Calendar currDate = Calendar.getInstance();

    return dueDate.after(currDate); 

}

在大多数情况下,当您进行日期操作时,您应该使用joda time。您可以在以下位置找到主页:

您可以使用方法
.isBefore()
isAfter()


愿原力与你同在。

我不想把两个日期都保留在日历的当前实例中!日历日期=日历。getInstance();日历下一个到期日=日历。getInstance();我用它来获取日历日期。这不是获取日历日期的正确方法吗?好吧,变量date和next_due_on都将是当前日期。使用debugging@ShreyaShah相同的日期,不同的时间。你不必为此
日历
。只需
返回(temp==0 | | temp==1)
根据需要编写逻辑,temp将为1,0,-1您可以做出选择并从中获取布尔值我的朋友,我的意思是
如果(temp==0 | | temp==1)返回true;返回false;
返回(temp==0 | | temp==1)相同;
。还有Java API,但是0,0。注意。只需创建所需的duedate对象,并将该对象作为isDueDateValid方法中的参数传递;是否有任何关于向下投票的评论,或者只是愤怒?谢谢。
Date date1;
Date date2;
[...]
Calendar c1 = Calendar.getInstance();
c1.setTime(date1);
Calendar c2 = Calendar.getInstance();
c2.setTime(date2);
int result = c1.compareTo(c2); // 0 if equal, < 0 if c1 before c2, > 0 if c1 after c2
    public boolean dateCompare(Date date1 , Date date2){

    Calendar date = Calendar.getInstance();
    date.setTime(date1);
    Calendar next_due_on = Calendar.getInstance();
    next_due_on.setTime(date2);
    int temp = date.compareTo(next_due_on);
    if (temp == 0 || temp == -1)
        return false;
    return true;
}
public static void main(String[] args)
{

    Calendar dueDate = Calendar.getInstance();
    System.out.println(isDueDateValid(dueDate));

    dueDate.add(Calendar.MONTH, -1);    
    System.out.println(isDueDateValid(dueDate));

    dueDate.add(Calendar.MONTH, 2); 
    System.out.println(isDueDateValid(dueDate));
}



public static boolean isDueDateValid(Calendar dueDate)
{
    Calendar currDate = Calendar.getInstance();

    return dueDate.after(currDate); 

}
public boolean hasWordEnded(){

    String today = "24/12/2012";
    String endOfMayanCalendar = "21/12/2012";
    DateTimeFormatter fmt = DateTimeFormat.forPattern("dd/MM/yyyy");

    DateTime todayDate = fmt.parseDateTime(today);
    DateTime endOfWorldDate = fmt.parseDateTime(endOfMayanCalendar);

    if (todayDate.isAfter(endOfWorldDate)){
        return true;
    }
    return false;
}