Ответ 1
Период имеет конструктор, который принимает два экземпляра ReadableInstant
:
Period diff = new Period(start, end);
(ReadableInstant
- это интерфейс, реализованный DateTime
, а также другие классы.)
Я знаю, что это не "способ, которым он должен работать", но все же: если у вас есть два объекта DateTime, какой хороший способ их вычесть? Преобразовать их в объекты Date?
DateTime start = new DateTime();
System.out.println(start + " - doing some stuff");
// do stuff
DateTime end = new DateTime();
Period diff = // end - start ???
System.out.println(end + " - doing some stuff took diff seconds");
Период имеет конструктор, который принимает два экземпляра ReadableInstant
:
Period diff = new Period(start, end);
(ReadableInstant
- это интерфейс, реализованный DateTime
, а также другие классы.)
В вашем примере вы, кажется, хотите разницу в секундах, поэтому это должно помочь:
Seconds diff = Seconds.secondsBetween(start, end);
Помогает ли это? http://joda-time.sourceforge.net/key_period.html Он показывает приведенный ниже пример
DateTime start = new DateTime(2004, 12, 25, 0, 0, 0, 0);
DateTime end = new DateTime(2006, 1, 1, 0, 0, 0, 0);
// period of 1 year and 7 days
Period period = new Period(start, end);
// calc will equal end
DateTime calc = start.plus(period);
// able to calculate whole days between two dates easily
Days days = Days.daysBetween(start, end);
Зависит от точности, которую вы хотите получить. Вы должны проверить пакет org.joda.time
и проверить классы Помощника, такие как Hours
, Days
и т.д.
Я думаю, вы можете создать Period
с помощью this конструктор, который принимает два объекта DateTime
.