Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
java的 System.nanoTime() 似乎给了很长的时间: 1337203874231141000L 而 python time.time() 会给出类似 1337203880.462787 的东西
如何将 time.time() 的值转换为与 System.nanoTime() 匹配的值?
你不能。
从文档中:
此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意时间以来的纳秒(可能在将来,因此值可能为负数)。
将输出除以System.nanoTime()10^9。这是因为它以纳秒为单位,而输出time.time()以秒为单位。
System.nanoTime()
time.time()
Python文档表明时间是基于 Python 的纪元。Java 也是如此。问题是python使用float/double来表示时间,而java使用int。
我认为转换为标准格式,然后转换为目标系统会更容易,而不是尝试使用自纪元以来的秒数,就像您尝试做的那样。