2015-01-16 6 views
1

Мне нужно рассчитать количество дней между двумя датами (обе даты также включены), введенные пользователем в EditText. Мне также нужно проверить погоду в эти дни, или она уже прошла. Как мне это сделать?Количество дней между двумя датами в Android

+0

http://stackoverflow.com/questions/20165564/calculating-days-between-two-dates-with-in-java –

+0

см эту ссылку: http://stackoverflow.com/questions/23323792/android-days-between-two-dates – prakash

ответ

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); 
10
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(); 
} 
Смежные вопросы