In Java, I want to calculate the number of days between two dates as Date type.
How-To
Well to start with, you should only deal with them as strings when you have to. Most of the time you should work with them in a data type which actually describes the data you're working with. I would recommend that you use Joda Time, which is a much better API than Date/Calendar. It sounds like you should use theDays type in this case. You can then use:
- package test
- import java.text.SimpleDateFormat
- import org.joda.time.DateTime;
- import org.joda.time.Days;
- String date1Str = '2015/05/03'
- String date2Str = '2015/06/10'
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd")
- Date d1 = sdf.parse(date1Str)
- Date d2 = sdf.parse(date2Str)
- DateTime f = new DateTime(d1.getTime())
- DateTime t = new DateTime(d2.getTime())
- printf("Between %s ~ %s = %d days!\n", date1Str, date2Str, Days.daysBetween(f, t).getDays()+1)
Supplement
* Joda Online API
* Calculating the difference between two Java date instances
沒有留言:
張貼留言