The problem with getting super precise time measurements is that some processors can't/don't provide such tiny increments.
As far as I know, System.currentTimeMiliscurrentTimeMillis() and System.nanoTime() is the best measurement you will be able to find.
Note that both return a long value.