Duration与Period相对应,Period用于处理日期,而Duration计算时间差还可以处理具体的时间,也是通过调用其静态的between方法,该方法为between(Temporal startInclusive,Temporal endExclusive),因此可以传入两个Instant的实例(Instant实现了Temporal接口),并可以以毫秒(toMills)、秒(getSeconds)等多种形式表示得到的时间差。
public static void main(String[] agrs) {
int n = 10;
int[] arr = SortTestHelper.generateRandomArray(n, 0, n);
int[] arr2 = SortTestHelper.copy(arr, n);
// int[] te=new int[]{2,6,3,1,4,7,5,8,9,10};
System.out.println();
Instant start_time = Instant.now();// 开始时间
SelectSort.SelectSort(arr, n);
Instant end_time = Instant.now();// 结束时间
SortTestHelper.printArray(arr, n);
System.out.println("时间差为:" + Duration.between(start_time, end_time).toMillis());
start_time = Instant.now();// 开始时间
insertionSort.insertionSort(arr2, n);
end_time = Instant.now();// 结束时间
SortTestHelper.printArray(arr2, n);
System.out.println("时间差为:" + Duration.between(start_time, end_time).toMillis());
}