Are you sure ? 
First you are substracting two time in nano which mean that you end up with a time in nano (10^-9).
Then you divide this time by a million (10^6) (which is equivalent to multiplying by 10^-6) so you're ending with a more precise resolution (10^-15 ; 9+6=15): http://en.wikipedia.org/wiki/Femto-

seconds>millis>nanos>femto

To be honest I know I'm bad at it. This is why I always use `TimeUnits.NANOSECONDS.toMillis(...)` http://download.java.net/jdk7/archive/b123/docs/api/java/util/concurrent/TimeUnit.html#toMillis(long)