私はこれを使用しようとしました:
secondsFromMidnight = Seconds.secondsBetween(localDateTime.toLocalDate(),
localDateTime).getSeconds();
ただし、例外がスローされます(以下を参照)。これは良いアプローチだと思いますが、まだ自分のケースに適応させることに成功していません。これを書くと:
DateTime dateTimeFromMidnight = new DateMidnight(localDateTime.getChronology()).toDateTime();
Duration duration = new Duration(dateTimeFromMidnight, localDateTime.toDateTime());
タイムゾーンが台無しになります(1時間短くなります)。
ソリューションが時間、分などにも簡単に適応できる場合、それはプラスです。
入力タイプとして LocalDateTime を絶対に使用する必要があります。他のクラスでソリューションを投稿しないでください。
Exception in thread "main" java.lang.IllegalArgumentException: ReadablePartial objects must have the same set of fields
at org.joda.time.base.BaseSingleFieldPeriod.between(BaseSingleFieldPeriod.java:92)
at org.joda.time.Seconds.secondsBetween(Seconds.java:124)