我实际上正在检查插入“N”个元素的集合所花费的时间,
现在我一直在检查 ArrayList 在插入过程中所花费的总时间。
Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());
System.out.println("Start Insertion :: "+startTimeStamp);
List<Integer> intList = new ArrayList<>();
for (int i = 0; i <= 100000000; i++) {
intList.add(i);
}
Timestamp endTimeStamp = new Timestamp(System.currentTimeMillis());
System.out.println("End insertion :: "+endTimeStamp);
// Total time taken
// TODO
输出: 开始插入::2020-03-19 16:47:27.395 结束插入::2020-03-19 16:48:11.963
最佳答案
简单、老式的方法是对每个 Timestamp
使用 getTime()
方法并减去结果,得到两次时间戳之间经过的毫秒数二:
long millisElapsed = endTimeStamp.getTime() - startTimeStamp.getTime();
不过,使用更现代的 API,您可能会将每个时间戳转换为 Instant
,并计算由这些时间戳括起来的 Duration
:
Duration elapsedDuration =
Duration.between(startTimeStamp.toInstant(), endTimeStamp.toInstant());
Duration
比原始 long
具有更多的结构和支持,但也许它超出了您的需要。
关于java - 如何使用 java.sql.Timestamp 减去日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60756501/