java - Joda-精确十进制天数的持续时间

标签 java date datetime jodatime

我正在尝试使用 Joda-Time 的持续时间类来计算两天之间的确切天数差异。这意味着我希望结果是 25.48 天,而不是仅仅 25 天。现在我有:

private static final double MILLISECONDS_IN_DAY = 86400000;

DateTime today = new DateTime();
Duration dur = new Duration(foo.getExpirationDate(), today);
double diff_days = dur.getMillis()/MILLISECONDS_IN_DAY;

但是我想知道是否有一种方法可以将第一行和最后一行合并成一个只给我一个 double 的行。

最佳答案

您可以使用 Joda-Time 的常量而不是声明您自己的常量来消除第一行。

org.joda.time.DateTimeConstants.MILLIS_PER_DAY

不要忘记,如果您尝试计算另一个日期,可能有更好的方法。日历中的不规则性(例如闰年)在 Joda-Time 中得到了很好的解释。

关于java - Joda-精确十进制天数的持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33193697/

相关文章:

java - java中与Runtime.exec结合的模态对话框

Java 轻型构建工具

Java 日期 : Long to Date Striping off Time

java - 如何检查日期范围是否是完整的日历月?

java - 如何格式化打印日历中包含的日期?

java - 日期格式化java中kk和HH的区别

datetime - VBScript 中的日期格式 - 用 0(零)作为月份前缀,例如07 而不是 7

java - JVM 线程转储包含不锁定线程的监视器

javascript - 日期对象的行为不符合预期

java - 如何在Spring@RestController中映射多个bean?