无法获得新的时间

时间:2015-11-03 12:51:57

标签: java

我有以下Java代码。

$("#csvname").change

这里基本上我想要实现的是,打印当前时间,等待10秒然后再次打印时间。但令我惊讶的是,控制台在10秒后同时打印。请让我知道如何在等待10秒后得到时间。因为我需要根据时间进行一些计算。

4 个答案:

答案 0 :(得分:3)

您使用的是Date实例。要实现您想要的目标,您需要一个新的Date实例

Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String startFormattedDate = sdf.format(date);
System.out.println(startFormattedDate);
Thread.sleep(10000L);
Date after10Seconds = new Date(); //here
String endFormattedDate = sdf.format(after10Seconds);
System.out.println(endFormattedDate);

答案 1 :(得分:2)

因为使用了相同的变量日期。它也在10秒后显示相同的数据。你需要在10秒后重新初始化它。

答案 2 :(得分:1)

在超时后创建一个新的Date对象以获取当前时间:

String endFormattedDate = sdf.format(new Date());

当然,您可以将10000 ms加到前一次并获得类比 结果没有超时:

Date current = new Date(date.getTime() + 10000);
String endFormattedDate = sdf.format(current);

答案 3 :(得分:1)

我认为这是因为你在开头只创建了一个Date()实例。打印开始日期后尝试执行此操作。

Date date = new Date();
SimpleDateFormat edf = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
String endFormattedDate = edf.format(date);
System.out.println(endFormattedDate);