在 Java 中单调地增加时间?

2022-09-02 03:59:32

在Java应用程序中,我希望能够在操作开始时获取时间戳,并能够定期检查操作已运行多长时间。问题是:我不想受到网络时间协议移动时钟,管理员更改时间或任何可以突然调整一天中时间的事情的影响。我想要一个单调增加的时间值。我相信这排除了java.util.Date,Time和Calendline。

JRE 中是否存在单调递增时间戳的来源?


答案 1

你有没有考虑过使用System.nanoTime()

它只有在计算出两个事件之间经过的时间时才有意义。由于文档指出它与任何系统或墙壁时间无关,我相信它可以用于您的sitatuion。


答案 2

JodaTime有一个班级来做这件事。它被称为持续时间

“它们没有时间顺序或时区,仅由毫秒持续时间组成。

您也可以将日期戳设置为格林威治时间,网络时间协议应该不是问题。


推荐