Java 如何在android中比较日期值

Java 如何在android中比较日期值,java,android,string,date,Java,Android,String,Date,我的textview需要显示考试死线的日期。我的json将其作为字符串传递。然后我需要获取当前日期并在另一个textviwe String date ="2014-11-12"; //ok Date deadline = //how to cast string to date //then how to get today and subtract textview1.setText(today); int remaindays = //how to get it

我的
textview
需要显示考试死线的日期。我的
json
将其作为字符串传递。然后我需要获取当前日期并在另一个
textviwe

String date    ="2014-11-12";  //ok
Date deadline  = //how to cast string to date  
//then how to get today and subtract 
textview1.setText(today);      
int remaindays = //how to get it    
textview2.setText("You have " +remaindays  +" days to exam");
 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }

尝试此代码

 String date    ="2014-11-12"; 
 Date deadline; 
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 Date strDate = sdf.parse(date);
 Long diff=-1;
 int diff=0;
 if (System.currentTimeMillis() > strDate.getTime()) {
    diff=System.currentTimeMillis()-strDate.getTime();
 }
 int remaindays = (int)diff/100/60/60/24
 textview2.setText("You have " +remaindays  +" days to exam");
 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateandTime = sdf.format(new Date());
long diff = date2.getTime() - date1.getTime();
int remaindays = (int)diff/100/60/60/24

1。将字符串转换为最新版本

 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }
2。今日获取日期

 String date    ="2014-11-12"; 
 Date deadline; 
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 Date strDate = sdf.parse(date);
 Long diff=-1;
 int diff=0;
 if (System.currentTimeMillis() > strDate.getTime()) {
    diff=System.currentTimeMillis()-strDate.getTime();
 }
 int remaindays = (int)diff/100/60/60/24
 textview2.setText("You have " +remaindays  +" days to exam");
 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateandTime = sdf.format(new Date());
long diff = date2.getTime() - date1.getTime();
int remaindays = (int)diff/100/60/60/24
3。统计日期

 String date    ="2014-11-12"; 
 Date deadline; 
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
 Date strDate = sdf.parse(date);
 Long diff=-1;
 int diff=0;
 if (System.currentTimeMillis() > strDate.getTime()) {
    diff=System.currentTimeMillis()-strDate.getTime();
 }
 int remaindays = (int)diff/100/60/60/24
 textview2.setText("You have " +remaindays  +" days to exam");
 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String currentDateandTime = sdf.format(new Date());
long diff = date2.getTime() - date1.getTime();
int remaindays = (int)diff/100/60/60/24

这对您有意义吗?

将字符串日期拆分为“-”,然后创建一个包含年、月和日的新日期。在过帐之前,请搜索StackOverflow的可能重复项。在之前的问答中,您的问题主题已被提及数百次。比如。提示:尝试搜索“joda”(是的,拼写正确)。
 String date = "2014-11-12";  
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");  
        try {  
            Date date = format.parse(date);  
            System.out.println(date);  
        } catch (ParseException e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
    }