Since the Java doc tell me, not to use `System.currentTimeMillis` for comparison, I started using `System.nanoTime` which is fine.   

But I ran into some problems, I have to compare events which are in the past. 

```
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, xyz);
cal.getTimeMillis();

```

works fine to get the time in `milliseconds`, but converting it to `nanoseconds` (by multiplying it with 1000000) is far to inaccurate. 

**How can I get time of a event in the past in milliseconds?**