Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Java, get days between two dates

Tags:

java

date

In java, I want to get the number of days between two dates, excluding those two dates.

For example:

If first date = 11 November 2011 and the second date = 13 November 2011 then it should be 1.

This is the code I am using but doesn't work (secondDate and firstDate are Calendar objects):

long diff=secondDate.getTimeInMillis()-firstDate.getTimeInMillis();
float day_count=(float)diff / (24 * 60 * 60 * 1000);
daysCount.setText((int)day_count+"");                    

I even tried rounding the results but that didn't help.

How do I get the number of days between dates in java excluding the days themselves?

like image 741
Hiral Vadodaria Avatar asked Nov 02 '11 07:11

Hiral Vadodaria


1 Answers

I've just tested on SDK 8 (Android 2.2) the following code snippet:

Calendar date1 = Calendar.getInstance();
Calendar date2 = Calendar.getInstance();

date1.clear();
date1.set(
   datePicker1.getYear(),
   datePicker1.getMonth(),
   datePicker1.getDayOfMonth());
date2.clear();
date2.set(
   datePicker2.getYear(),
   datePicker2.getMonth(),
   datePicker2.getDayOfMonth());

long diff = date2.getTimeInMillis() - date1.getTimeInMillis();

float dayCount = (float) diff / (24 * 60 * 60 * 1000);

textView.setText(Long.toString(diff) + " " + (int) dayCount);

it works perfectly and in both cases (Nov 10,2011 - Nov 8,2011) and (Nov 13,2011 - Nov 11,2011) gives dayCount = 2.0

like image 132
slkorolev Avatar answered Sep 27 '22 21:09

slkorolev