在Java中使用Calendar API时性能不佳

sap*_*sap 1 java

以下代码表现非常糟糕.我已经知道Calendar API存在性能问题

long startInMilliSec = measFileCreationTime_OssTime;
Calendar thisMoment = Calendar.getInstance();
long currentInMilliSec = thisMoment.getTime().getTime();

if (currentInMilliSec >= startInMilliSec) {
    return (true);
} else {
    return (false);
}
Run Code Online (Sandbox Code Playgroud)

这有什么替代方案吗?

Ber*_*ase 5

您可以使用System.currentTimeMillis()自1970年12月1日以来以毫秒为单位获取当前时间.减去两个毫秒值可用于获得它们之间的毫秒持续时间.只需在解释这样一个毫米值的年份,月份等时使用日历.

如果你想要更精确,那么你可以System.nanoTime()用来获得纳米精度.在这种情况下,绝对纳米值没有特别的意义,并且只能用于计算随后采用的纳米值之间的时间差.