相关疑难解决方法(0)

计算两个Java日期实例之间的差异

java.util.Date在Scala中使用Java的类,想要比较一个Date对象和当前时间.我知道我可以使用getTime()来计算delta:

(new java.util.Date()).getTime() - oldDate.getTime()
Run Code Online (Sandbox Code Playgroud)

但是,这只留下了一个long代表毫秒.是否有更简单,更好的方式来获得时间增量?

java time date timedelta java.util.date

416
推荐指数
19
解决办法
60万
查看次数

Java日期月差异

我有开始日期和结束日期.

我需要Java中这两个日期之间的月数.

例如

  • 从日期:2009-01-29
  • 迄今为止:2009-02-02

它有一个日期和一个2月日期.

它应该返回2.

java date

42
推荐指数
8
解决办法
8万
查看次数

Java 8计算两个日期之间的月份

注意这不是以下任何一个重复


我有两个约会:

  • 开始日期: "2016-08-31"
  • 结束日期: "2016-11-30"

它在上述两个日期之间的91天持续时间,我预计我的代码将返回3个月的持续时间,但以下方法仅返回2个月.有人有更好的建议吗?或者你们认为这是Java 8中的一个错误吗?91天的持续时间仅返回2个月.

非常感谢你的帮助.

方法1:

Period diff = Period.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法2:

long daysBetween = ChronoUnit.MONTHS.between(LocalDate.parse("2016-08-31"),
    LocalDate.parse("2016-11-30"));
Run Code Online (Sandbox Code Playgroud)

方法3:

我尝试使用Joda库而不是Java 8 API,它的工作原理.它将loos返回3,看起来像Java持续时间的月计算也使用了天数值.但就我而言,我不能在我的项目中使用Joda.所以还在寻找其他解决方案.

    LocalDate dateBefore= LocalDate.parse("2016-08-31");
    LocalDate dateAfter = LocalDate.parse("2016-11-30");
    int months = Months.monthsBetween(dateBefore, dateAfter).getMonths();
    System.out.println(months);
Run Code Online (Sandbox Code Playgroud)

java java-8

14
推荐指数
4
解决办法
2万
查看次数

标签 统计

java ×3

date ×2

java-8 ×1

java.util.date ×1

time ×1

timedelta ×1