Java 如何获取当前时间的毫秒部分而不是 1970 年的时间
Java How to get millisecond part of current time and not from 1970
我正在使用 System.currentTimeMillis() 来获取自 1970 年以来的毫秒数,我可以使用以下方法获取当前的小时、分钟和秒数:
Long currTimeInMilliSec = System.currentTimeMillis()
int h = (((currTimeInMilliSec / 1000) / 3600 ) % 24)
int m = (((currTimeInMilliSec / 1000) / 60) % 60)
int s = ((currTimeInMilliSec / 1000) % 60)
我如何计算当前时间的毫秒数(不是从 1970 年开始),因为如果我使用 int ms = currentTimeInMilliSec 那将是自 1970 年以来的毫秒数。
注意:由于某些原因,我只需要使用 currentTimeMillis 函数来计算,我不想使用其他函数或外部库。
使用currentTimeInMilliSec % 1000
.
您也可以这样想:它的工作原理与 int m = totalMinutes % 60
相同,您已经发现它有效。
但更详细的解释如下:N % M
给你一个从0
到M - 1
的数字。因此,您将始终获得从 0
到 999
的毫秒数。每次你的 currentTimeInMilliSec
前进一,这个数字也会前进一,但如果这个数字超过 999
,它就会转向 0
,这正是你想要的行为.
这个问题是关于算术而不是编程的,但是在这里:
给定一个特定时间t
,从t
到当前时间的毫秒数是:
System.currentTimeMillis() + ([midnight, January 1, 1970 UTC] - t)
.
现在您所要做的就是确定一个度量单位,并将上述所有抽象表示的时间转换为该单位并进行计算。
示例:
如果t
是midnight, January 1, 1960 UTC
,那么
[midnight, January 1, 1970 UTC] - t = [number of ms in 10 years]
从t
到现在的毫秒数是
System.currentTimeMillis() + [number of ms in 10 years]
.
我正在使用 System.currentTimeMillis() 来获取自 1970 年以来的毫秒数,我可以使用以下方法获取当前的小时、分钟和秒数:
Long currTimeInMilliSec = System.currentTimeMillis()
int h = (((currTimeInMilliSec / 1000) / 3600 ) % 24)
int m = (((currTimeInMilliSec / 1000) / 60) % 60)
int s = ((currTimeInMilliSec / 1000) % 60)
我如何计算当前时间的毫秒数(不是从 1970 年开始),因为如果我使用 int ms = currentTimeInMilliSec 那将是自 1970 年以来的毫秒数。
注意:由于某些原因,我只需要使用 currentTimeMillis 函数来计算,我不想使用其他函数或外部库。
使用currentTimeInMilliSec % 1000
.
您也可以这样想:它的工作原理与 int m = totalMinutes % 60
相同,您已经发现它有效。
但更详细的解释如下:N % M
给你一个从0
到M - 1
的数字。因此,您将始终获得从 0
到 999
的毫秒数。每次你的 currentTimeInMilliSec
前进一,这个数字也会前进一,但如果这个数字超过 999
,它就会转向 0
,这正是你想要的行为.
这个问题是关于算术而不是编程的,但是在这里:
给定一个特定时间t
,从t
到当前时间的毫秒数是:
System.currentTimeMillis() + ([midnight, January 1, 1970 UTC] - t)
.
现在您所要做的就是确定一个度量单位,并将上述所有抽象表示的时间转换为该单位并进行计算。
示例:
如果t
是midnight, January 1, 1960 UTC
,那么
[midnight, January 1, 1970 UTC] - t = [number of ms in 10 years]
从t
到现在的毫秒数是
System.currentTimeMillis() + [number of ms in 10 years]
.