long nanoseconds = System.nanoTime();
long microseconds = nanoseconds / 1000;
long miliseconds = microseconds / 1000;
long seconds = miliseconds / 1000;
long minutes = seconds / 60;
long hours = minutes / 60;
System.out.println (hours);
当我的 Windows 机器上 ~11:35 am 运行时,打印26
.一天不可能有26小时,即使有,也离预期的结果11
也不接近。为什么这不起作用?(我也不想使用任何时间日期库,我知道有更简单的方法(
希望这一切都正确格式化,因为我在手机上。谢谢大家!
从 Oracle 文档中您可以阅读以下内容:
此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意时间(可能在将来,因此值可能是负数(以来的纳秒。此方法提供纳秒精度,但不一定提供纳秒精度。不保证值更改的频率。由于数值溢出,跨度大于大约 292 年(263 纳秒(的连续调用的差异将无法准确计算经过时间。
所以你不应该使用这种方法。