我正在用Java编写一个简单的计时器.它有"开始"和"停止"按钮,以及显示自计时器启动以来经过了多长时间的文本视图.
它是通过System.currentTimeMillis()在循环中每秒设置初始时间和更新当前值来实现的.
问题是如果我在计时器运行时更改系统时间,整个测量将失败.例如,如果我将时间设置为一个月,则计时器显示负值,因为currentTimeMillis()现在返回的值小于初始值.
那么,我如何计算与系统时间无关的时间增量?使这个解决方案跨平台也很棒.
Tho*_*ler 10
使用:
System.nanoTime()
Run Code Online (Sandbox Code Playgroud)
这应该做到这一点.它不会考虑系统时间,只能用于测量经过的时间.这是你想要的.您需要除以100万才能获得经过的毫秒数.另见Javadocs.
| 归档时间: |
|
| 查看次数: |
4922 次 |
| 最近记录: |