使用Java访问系统时钟的简便方法是什么,以便我可以计算事件的经过时间?
我会避免使用它System.currentTimeMillis()
来测量经过时间。currentTimeMillis()
返回“壁钟”时间,该时间可能会更改(例如:夏时制,管理员用户更改时钟)并会使您的间隔测量值偏斜。
System.nanoTime()
另一方面,返回自“某个参考点”(例如,JVM启动)以来的纳秒数,因此不会受到系统时钟变化的影响。
问题内容: 我有… 我想获得这两个日期之间的年,月,日,小时,分钟和秒。 我会提一个问题。 我只想获取经过的时间(绝对值),而不考虑,年,每月的天数等。 因此,我认为无法获得过去的年月,我只能得到几天,几小时,几分钟和几秒钟。 更具体地说,我想告诉你某项任务持续了例如 因此,请原谅我缺乏精确性。 问题答案: 我刚刚发现了这个来自Groovy的快速解决方案:
问题内容: 我有一条流经多个系统的消息,每个系统都会记录消息的进入和退出以及时间戳和uuid messageId。我通过以下方式提取所有日志: 结果,我现在有以下事件: 我想生成一个报告(最好是堆积的条或列),用于每个系统的时间: 做这个的最好方式是什么?Logstash过滤器?kibana计算字段? 问题答案: 您只能使用Logstash 过滤器来实现此目的,但是,您必须实质性地重新实现该过滤器
问题内容: 我正在尝试计算直到足球比赛开始为止的时间。 这是我所知道的: 我有活动时间: 2016-08-16T19:45:00Z 我知道它的字符串格式是“ yyyy-M-dd’T’h:m:s’Z’ ” 我知道时区是“ CET”。 我希望能够以天为单位计算当前时间与该日期之间的时差。 这是我尝试过的: 您可能想知道为什么我不只是获得游戏日期(8)并减去当前日期(19)。在当前日期是29号而游戏日期
问题内容: 我需要计算从一个特定日期到现在的时间,并以与StackOverflow问题相同的格式显示它,即: 你知道如何使用Java Joda-Time库实现它吗?是否有已经实现它的辅助方法,还是我应该自己编写算法? 问题答案: 要使用计算经过的时间,请使用。要将经过的时间格式化为所需的人类表示形式,可以使用来构建。 这是一个启动示例: 现在打印 你会发现我也考虑了几个月和几年,并将其配置为在零值
问题内容: 如果用户输入为2255,而我的输出应为10分钟,那么我如何计算24小时内的时差。我的想法是将输入分为2个部分,2位数字和2位数字。前2位数字是小时,将其乘以60使其变为分钟。然后再加上第二个2位数字,然后计算出差异。我不想使用任何日期日历数据类型或API来解决它。谢谢 问题答案: 如何在不使用String chartAt的情况下获取前两位数字。 最高两位数:数字/ 100最低两位数:数
我需要知道不同事件发生的频率。例如,在过去 15 分钟内发生了多少个 HTTP 请求。由于可能有大量的事件(数百万个),因此必须使用有限的内存量。 Java中有什么util类可以做到这一点吗? 如何在Java中实现这个自我? 理论用法代码可以如下所示: 编辑:它必须是一个实时值,可以在一分钟内更改数千次,并且将在一分钟内查询数千次。基于数据库或文件的解决方案是不可能的。