【问题标题】:How to get difference in two times in java? [duplicate]如何在java中获得两次差异? [复制]
【发布时间】:2015-10-01 17:52:26
【问题描述】:

我在变量 a 中使用 hh:mm:ss 格式设置了一个时间,并将当前时间在变量中设置为 x,格式相同。在 if 语句中,如果当前时间小于设定时间,我希望它打印出达到设定值需要多少 hh:mm:ss。谢谢

a.setHours(7);
a.setMinutes(45);
a.setSeconds(00);
currenttime.format(x);
if (x.compareTo(a)<0); //x is current time (hh:mm:ss)
{
    //how do you outprint difference between x and a
   System.out.print("You have event in: " x);
}
if (x.compareTo(a)>0 && x.compareTo(a1)<0)
{
}

【问题讨论】:

  • 不知道xa 的类型会让人很难知道如何显示有关它们差异的信息。似乎它们是整数小时/分钟/秒值的某种包装器,那么为什么不直接提取每个小时/分钟/秒并基于此进行比较呢?
  • 您甚至可以比较字符串值,例如“14:30:25”。
  • 转到here 以获得简短答案

标签: java eclipse time


【解决方案1】:

也许你应该看看java.time.Duration,这里的帖子中有详细说明how-to-find-difference-between-two-joda-time-datetimes-in-minutes

或者您也可以改用joda-time 并使用此处number-of-days-between-two-dates-in-joda-time 中提供的详细信息

将 Days 类与 withTimeAtStartOfDay 方法一起使用应该可以工作

...或在此帖子中how-to-calculate-difference-between-two-dates-in-years-etc-with-joda-time

...除非你已经在使用 Java 8,因为

Joda-Time 是 Java 的事实上的标准日期和时间库。从 Java SE 8 开始,要求用户迁移到 java.time (JSR-310)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2017-10-07
    • 1970-01-01
    • 2016-10-27
    相关资源
    最近更新 更多