Windows does not count/report every milliseconds to you. There is a granularity in reporting which depends on the underlying OS.
If it reports the same number, that means your procedure does not run long enough to capture the difference. You can try your code with a dummy for loop which took more time..
And here is an article that will tell you more details about this problem:
Bring Java's System.currentTimeMillis() Back into the Fold for Transaction Monitoring