2015-10-02 5 views
0

Я хотел бы найти «интервал» между дат-временем A и другим последним. ex.jodatime интервал между 2 датами

  • ) 21/09/2015 12:00:00
  • Б) 25/09/2015 12:00:00

интервал = 4 дней 0h 0m 0s

Я нашел этот пост: How to find difference between two Joda-Time DateTimes in minutes

Но мне интересно, не должен ли JodaTime Interval сделать это? Если да, то как?

+0

Что вы хотите сделать? –

+1

Похоже, что вы ищете ['Period'] (http://joda-time.sourceforge.net/apidocs/org/joda/time/Period.html). –

+0

сообщение отредактировал tio ответить на ваш вопрос –

ответ

1

Вы не ищете интервал (который имеет анкеры на временной шкале), но в течение времени, не привязанные к определенному времени на временной шкале. Длительности, основанные на любых единицах времени, называются Period в Joda-Time.

DateTimeFormatter f = DateTimeFormat.forPattern("dd/MM/yyyy HH:mm:ss"); 
LocalDateTime ldtA = LocalDateTime.parse("21/09/2015 12:00:00", f); 
LocalDateTime ldtB = LocalDateTime.parse("25/09/2015 12:00:00", f); 
Period diff = new Period(ldtA, ldtB, PeriodType.dayTime()); 
System.out.println(PeriodFormat.wordBased(Locale.ENGLISH).print(diff)); // 4 days 
+0

В чем разница между' LocalDateTime' и простой 'DateTime'? -Почему вы использовали localdt? –

+1

@KoenDemonie 'DateTime' не является простым и содержит БОЛЕЕ состояние, чем' LocalDateTime', несмотря на его более короткое имя. 'DateTime' также относится к часовому поясу, а' LocalDateTime' - нет. Именно поэтому я выбрал тип без часового пояса: в ваших строках нет ссылок на смещение или часовой пояс. –

0

Возможно, но с некоторым дополнительным использованием API. Взгляните на эту страницу, это должно помочь вам понять Интервал и как его использовать соответствующим образом.

Joda Interval

Смежные вопросы