由于Java doc告诉我,不要使用System.currentTimeMillis
进行比较,我开始使用System.nanoTime
,这很好。
但我遇到了一些问题,我必须比较过去的事件。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_MONTH, xyz);
cal.getTimeMillis();
正常工作以获得milliseconds
的时间,但将其转换为nanoseconds
(将其乘以1000000)远非不准确。
如何以毫秒为单位获取事件的时间?
答案 0 :(得分:3)
Java中的Calendar
类不包含纳秒信息。所以你无法得到它。
如果你需要那个细节,你需要将纳秒作为:你也不能这样做,nanoTime()是不是当前时间的表示,但您仍可以存储它来评估旧流程的经过时间。long
存储到你想要比较的事件。
答案 1 :(得分:0)
您使用哪种数据类型乘以1,000,000?也许你应该使用BigDecimal,这对你来说足够准确。