当前位置: 首页 > 知识库问答 >
问题:

计算两次之间的毫秒数

洪永长
2023-03-14

我试图计算两个时间之间有多少毫秒(例如,从13:00到13:01,有60000毫秒)。时间由2个整数(小时、分钟)表示。

我写了这个函数

public static long millisBetweenTimes(int h1, int m1, int h2, int m2) { //hour1, minute1, hour2, minute2
      long millis;
      millis = (h2 - h1) * (60 * 60000);
      if (m < tm)
        millis += (m2 - m1) * 60000;
      else
        millis -= (m1 - m2) * 60000;
      return millis;
}

然而,当第二次是第二天时,这将不起作用(例如,从周日14:00到周一13:00之间有多少毫秒?)

共有1个答案

汪理
2023-03-14

正如Robby在注释中所说的,您应该使用java.time包中的类。使用localtimeduration类,可以获得两个时间点之间的毫秒数。

LocalTime t0 = LocalTime.of(14, 0);
LocalTime t1 = LocalTime.of(13, 0);
Duration d = Duration.between(t0, t1);
if (d.isNegative()) {
    d = d.plusDays(1);
}
System.out.println(d.toMillis());

duration是duration:两个时间点之间的时间长度。如果第二次位于第一次之前,那么持续时间为负值。在这种情况下,我们需要增加1天的持续时间。

现在我们有了由duration类表示的时间量。该类包含许多将其转换为特定时间单位的方法。在我们的例子中,tomillis()正是我们所需要的。

 类似资料:
  • 本文向大家介绍js计算两个时间差 天 时 分 秒 毫秒的代码,包括了js计算两个时间差 天 时 分 秒 毫秒的代码的使用技巧和注意事项,需要的朋友参考一下 具体代码如下所述: ps下面看下Js计算时间差,天数,小时数,余数 总结 以上所述是小编给大家介绍的js计算两个时间差 天 时 分 秒 毫秒的代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

  • 问题内容: 我一直在寻找Android API,并且一直在寻找一种方法来计算当前日期和未来日期之间的天数。我对android很陌生,几年来我还没有做过Java。什么是最简单的计算方法? 谢谢 问题答案: 最简单的方法是为此使用Joda Time Days类:

  • 我在计算两次约会的时差。。 上面的方法很有效,但它可以提供几天、几小时和几秒钟的时间。我希望它也能告诉我月份。但问题是每个月都有不同的天数,所以我如何才能找到月数呢?

  • 问题内容: 我试图找到最干净/最pythonic的方式来评估“ now”是否介于两次之间;然而; 例如,“开始/结束时间”可能会跨越一天的边界,也可能不会跨越一天的边界(仅使用简单的示例): 做一个简单的方案是行不通的! 我目前拥有的一些代码可以评估当前是否为“ NightTime”,如下所示: 我注意到,这些似乎并不能说明开始时间和结束时间跨越一天的边界。 除此之外; 关于添加基于日程安排的任何

  • 问题内容: 我有两个字符串变量,例如StartTime和EndTime。我需要通过用StartTime减去EndTime来计算TotalTime。 StartTime和EndTime的格式如下: TotalTime(小时和分钟格式)。如何在Android中计算? 问题答案: 尝试下面的代码。 //假设时间格式为 (“ hh:mm a”) 格式 输出 -小时数:: 8

  • 问题内容: 我有一个带有StartDate列的表,我想计算两个连续记录之间的时间差。 谢谢。 @ Mark Byers和@ Yahia,我将请求表作为requestId,startdate 我想知道requestid 1和2、2和3、3和4等之间的时差是多少。我知道我需要在表上进行自我连接,但是我在子句上没有得到正确的支持。 问题答案: 要实现您的要求,请尝试以下操作(从OP编辑后进行更新): 如