package com.javamarcher.util; public class DeltaTimeUtil { private static final double NANO_TO_SECOND = 1.0 / 1000000000; private double deltaTime = 0.0; private long last; private final long timeAtStart; public DeltaTimeUtil() { last = System.nanoTime(); timeAtStart = last; } public void calculateDeltaTime() { deltaTime = (-last + (last = System.nanoTime())) * NANO_TO_SECOND; } public double getDeltaTime() { return deltaTime; } /** * Time since startup. */ public double getGlobalTime() { final long currentTime = System.nanoTime(); return (currentTime - timeAtStart) * NANO_TO_SECOND; } }