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

如何在java中找到2个时间戳之间的日差[重复]

章琛
2023-03-14
long time1 = 1546258765000  (Mon 31 December 2018 13:19:25)
long time2 = 1546005915367 (Fri 28 December 2018 15:05:15)
TimeUnit.DAYS.convert(time1 - time2 , TimeUnit.MILLISECONDS))

我只需要为time1和time2设置相同的时间,然后返回到timestamp并像这样计算...但我不确定做这件事最好的方法是什么。

共有1个答案

宗政和韵
2023-03-14

注意:正如Ole V.V所指出的:这只适用于UTC。由于时间戳总是在UTC上,如果您在另一个时区,它可能会返回不希望的结果。示例:

在GMT+1中:

time1 = 1546216200000L (Mon 31 December 2018 01:30:00) (31/12 00:30 on UTC)
time2 = 1545953400000L (Fri 28 December 2018 00:30:00) (27/12 11:30 on UTC)

这将导致4天的差异,因为这是UTC的差异。

final long MILLIS_PER_DAY = 1000*60*60*24;
long time1 = 1546258765000L; // (Mon 31 December 2018 13:19:25)
long time2 = 1546005915367L; // (Fri 28 December 2018 15:05:15)

// Set both times to 0:00:00
time1 -= time1 % MILLIS_PER_DAY;
time2 -= time2 % MILLIS_PER_DAY;
TimeUnit.DAYS.convert(time1 - time2 , TimeUnit.MILLISECONDS))
 类似资料:
  • 我有两个DateTime对象,它们需要找出它们之间差异的持续时间, 我有以下代码,但不确定如何继续以达到以下预期结果: 示例: 代码:

  • 问题内容: 我有两个DateTime对象,需要找到它们之间的差值的持续时间, 我有以下代码,但不确定如何继续执行以获得预期的结果,如下所示: 例 码 问题答案: 尝试以下

  • 问题内容: 我有两个日期,格式如“ Ymd H:i:s”。我需要比较这两个日期并找出时差。 问题答案: 您可以将它们转换为时间戳,然后从那里开始: 除以3600是因为一小时内有3600秒,请避免使用很多小数位。

  • 问题内容: 如何分辨两个datetime物体之间的时间差(以分钟为单位)? 问题答案: 从第一次减去以后的时间将创建一个仅保留时差的对象。在上面的示例中,它是0分钟,8秒和562000微秒。

  • 问题内容: 我必须找到java中两个不同日期对象之间的时间差异,如果该时间超过5秒,我必须使会话无效。 这是场景: 我有一个jsp页面,它每5秒设置一次会话 我还有另一个jsp页面,每1秒访问一次, 现在,我必须在我提到的另一个jsp中进行比较,并使会话无效, 因此,如果差异超过5秒,则会话无效。 问题答案:

  • 问题内容: 我在一个MySQL数据库表上工作,该表的列包含我对其他主机执行ping操作时的时间戳记(例如2014-09-16 09:08:05)。我的问题是如何在几分钟内计算出针对特定主机的第一次ping和最后一次ping之间的差异?另外,如何为上述差异的开始和结束指定不同的时间戳(而不是第一次和最后一次ping)。这是表格的示例: 我希望我已经对自己的解释足够清楚。 问题答案: 您可以使用本机的