Android中两个日期之间的天数

时间:2015-01-16 07:33:23

标签: android android-date

我需要计算用户在EditText中输入的两个日期(两个日期也包括在内)之间的天数。我还需要检查这些天来的天气还是已经过去了。我该怎么做?

2 个答案:

答案 0 :(得分:11)

SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");
String inputString1 = "23 01 1997";
String inputString2 = "27 04 1997";

try {
    Date date1 = myFormat.parse(inputString1);
    Date date2 = myFormat.parse(inputString2);
    long diff = date2.getTime() - date1.getTime();
    System.out.println ("Days: " + TimeUnit.DAYS.convert(diff, TimeUnit.MILLISECONDS));
} catch (ParseException e) {
    e.printStackTrace();
}

答案 1 :(得分:1)

首先从两个编辑文本中获取日期到字符串

SimpleDateFormat myFormat = new SimpleDateFormat("dd MM yyyy");

String firstDate=editText1.getText().toString();
String secondDate=editText2.getText().toString();

之后将您的字符串转换为日期..

使用Java内置类TimeUnit可以更好地处理日期差异转换。它提供了一些实用方法:

Date startDate =   myFormat.parse(firstDate);   // initialize start date
Date endDate   = myFormat.parse(secondDate); // initialize  end date

long duration  = endDate.getTime() - startDate.getTime();

long diffInSeconds = TimeUnit.MILLISECONDS.toSeconds(duration);
long diffInMinutes = TimeUnit.MILLISECONDS.toMinutes(duration);
long diffInHours = TimeUnit.MILLISECONDS.toHours(duration);