如何使用java.sql.Timestamp减去日期
我实际上是在检查集合插入“N”元素所花费的时间 现在我一直在检查ArrayList在插入过程中所花费的总时间如何使用java.sql.Timestamp减去日期,java,timestamp,Java,Timestamp,我实际上是在检查集合插入“N”元素所花费的时间 现在我一直在检查ArrayList在插入过程中所花费的总时间 Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis()); System.out.println("Start Insertion :: "+startTimeStamp); List<Integer> intList = new 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传统的简单方法是在每个时间戳上使用getTime方法并减去结果,给出两个时间戳之间经过的毫秒数:
long millisElapsed = endTimeStamp.getTime() - startTimeStamp.getTime();
不过,使用更现代的API,您可能会将每个时间戳转换为一个瞬间,并计算以下各项所包含的持续时间:
Duration elapsedDuration =
Duration.between(startTimeStamp.toInstant(), endTimeStamp.toInstant());
持续时间比原始长时间具有更多的结构和支持,但可能超出了您的需要。您在这里犯了一些错误。1.您不应该使用java.sql.timestamp。2.这不是您编写基准的方式,您所做的不会产生任何合理的结果。如果你想了解更多,请阅读。在新的Java版本中,有一个用于编写基准测试的内置框架,有关于这个主题的很棒的教程,例如,我建议您不要使用时间戳。那门课设计得很糟糕,而且早已过时。根据您的确切需求,您可以考虑即时和持续时间,两者都来自。