Alex Rivera | Logout

In Java, how do I get the difference in seconds between 2 dates?

Asked 2009-12-28T16:25:21.097
94

The Java class library has a class named DateTime. DateTime has this method:

int daysBetween(DateTime other)

which returns the number of days between this and the parameter. It doesn't have a method

int secondsBetween(DateTime other)

which I happen to need. Is there a class which is similar to DateTime but has such a method?

Edit
Report

2 Answers

4

If you're using Joda (which may be coming as jsr 310 in JDK 7, separate open source api until then) then there is a Seconds class with a secondsBetween method.

Here's the javadoc link: http://joda-time.sourceforge.net/api-release/org/joda/time/Seconds.html#secondsBetween(org.joda.time.ReadableInstant,%20org.joda.time.ReadableInstant)

answered 2009-12-29T00:49:32.457
0

Just a pointer: If you're calculating the difference between two java.util.Date the approach of subtracting both dates and dividing it by 1000 is reasonable, but take special care if you get your java.util.Date reference from a Calendar object. If you do so, you need to take account of daylight savings of your TimeZone since one of the dates you're using might take place on a DST period.

That is explained on Prasoon's link, I recommend taking some time to read it.

answered 2009-12-28T19:21:54.383

Your Answer