单调增加Java的时间?

时间:2009-01-12 03:34:09

标签: java time

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

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

2 个答案:

答案 0 :(得分:21)

您是否考虑过使用System.nanoTime()

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

答案 1 :(得分:3)

JodaTime有一个类可以做到这一点。它被称为Duration

  

“他们没有年表或时区,只有毫秒的持续时间。”

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