Home >Java >javaTutorial >How to Calculate the Difference Between Two Dates in Days Using Android/Java?
Finding Date Difference in Days for Android/Java
In Android/Java, there are several ways to calculate the difference between two dates and express it in terms of days. One method involves using the Calendar class.
To obtain the current date, you can use the following code:
TextView txtViewData; txtViewDate.setText("Today is " + android.text.format.DateFormat.getDateFormat(this).format(new Date()));
However, since you have another date in the format yyyy/mm/dd, it's important to make necessary conversions. Here's an example:
Calendar thatDay = Calendar.getInstance(); thatDay.set(Calendar.DAY_OF_MONTH, 25); thatDay.set(Calendar.MONTH, 7); // 0-11 so 1 less thatDay.set(Calendar.YEAR, 1985); Calendar today = Calendar.getInstance(); long diff = today.getTimeInMillis() - thatDay.getTimeInMillis(); //result in millis
Now, to approximate the difference in days, you can use this formula:
long days = diff / (24 * 60 * 60 * 1000);
To parse the date from a string in the format yyyy/mm/dd, you can use the following code:
String strThatDay = "1985/08/25"; SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd"); Date d = null; try { d = formatter.parse(strThatDay);//catch exception } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } Calendar thatDay = Calendar.getInstance(); thatDay.setTime(d); //rest is the same....
You could also use the Integer.parseInt() method on the substrings of the date string to extract the numeric values.
Please note that this method is an approximation, and it's recommended to use a more reliable library like JodaTime for precise date calculations.
The above is the detailed content of How to Calculate the Difference Between Two Dates in Days Using Android/Java?. For more information, please follow other related articles on the PHP Chinese website!