我有以下Java代码。
$("#csvname").change
这里基本上我想要实现的是,打印当前时间,等待10秒然后再次打印时间。但令我惊讶的是,控制台在10秒后同时打印。请让我知道如何在等待10秒后得到时间。因为我需要根据时间进行一些计算。
答案 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);