Java如何计算进程经过的时间?

本示例向我们展示了如何使用该System.nanoTime()方法来获取流程发生的时间。请注意,纳米时间值与实际时间值无关。

package org.nhooo.example.lang;

public class ElapsedTimeExample {
    public static void main(String[] args) {
        // 获取流程的开始时间
        long start = System.nanoTime();
        System.out.println("Start: " + start);

        // 只是做一些漫长的过程来计算总价值
        // 从零到10000的偶数
        int totalEven = 0;
        for (int i = 0; i < 10000; i++) {
            if (i % 2 == 0) {
                totalEven = totalEven + i;
            }
        }

        // 获取流程的结束时间
        long end = System.nanoTime();
        System.out.println("End  : " + end);

        long elapsedTime = end - start;

        // 显示完成该过程需要多长时间
        System.out.println("The process took approximately: "
            + elapsedTime + " nano seconds");
    }
}

结果的示例是:

Start: 19286838358442
End  : 19286839756241
The process took approximately: 1397799 nano seconds