java等待当前时间年月日时分秒 20分钟后,执行后续代码
时间: 2023-11-26 20:03:34 浏览: 60
您好!可以使用Java 8的时间API中的`LocalDateTime`和`Duration`类来实现等待当前时间20分钟后执行后续代码的功能。具体实现如下:
```java
LocalDateTime now = LocalDateTime.now(); // 获取当前时间
LocalDateTime targetTime = now.plusMinutes(20); // 将当前时间加上20分钟
// 等待到目标时间后执行后续代码
while (true) {
LocalDateTime currentTime = LocalDateTime.now();
if (currentTime.isAfter(targetTime)) {
// 执行后续代码
break;
}
Thread.sleep(1000); // 每隔1秒钟检查一次时间
}
```
以上代码将当前时间加上20分钟,得到目标时间`targetTime`。然后在一个while循环中,每隔1秒钟检查一次当前时间,如果当前时间晚于目标时间,则执行后续代码并退出循环。如果当前时间还没到达目标时间,则继续等待。需要注意的是,由于线程休眠时间不精确,因此实际上可能会比目标时间晚一些执行后续代码。
另外,需要注意的是,如果需要在Java应用程序中等待一段时间后执行某些操作,可以考虑使用Java的定时任务框架,如Timer和ScheduledExecutorService。这些框架可以更加精确地控制时间,并且可以支持周期性任务和异步执行任务等功能。
相关问题
java等待当前时间年月日时分秒 后20分钟,执行后续代码
您好!可以使用Java的Date和Calendar类来实现等待当前时间后20分钟后执行后续代码的功能。具体实现如下:
```java
// 获取当前时间
Date now = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(now);
// 将当前时间加上20分钟
calendar.add(Calendar.MINUTE, 20);
Date targetTime = calendar.getTime();
// 等待到目标时间后执行后续代码
while (true) {
Date currentTime = new Date();
if (currentTime.after(targetTime)) {
// 执行后续代码
break;
}
Thread.sleep(1000); // 每隔1秒钟检查一次时间
}
```
以上代码将当前时间加上20分钟,得到目标时间targetTime。然后在一个while循环中,每隔1秒钟检查一次当前时间,如果当前时间晚于目标时间,则执行后续代码并退出循环。如果当前时间还没到达目标时间,则继续等待。需要注意的是,由于线程休眠时间不精确,因此实际上可能会比目标时间晚一些执行后续代码。
另外,需要注意的是,如果需要在Java应用程序中等待一段时间后执行某些操作,可以考虑使用Java的定时任务框架,如Timer和ScheduledExecutorService。这些框架可以更加精确地控制时间,并且可以支持周期性任务和异步执行任务等功能。
java等待当前时间 时间格式为年月日时分秒 20分钟后 ,执行后续代码
您好!可以使用Java的SimpleDateFormat类将当前时间和目标时间格式化为字符串,然后再将字符串转换为Date对象来实现等待当前时间20分钟后执行后续代码的功能。具体实现如下:
```java
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String now = dateFormat.format(new Date()); // 获取当前时间的字符串表示
String targetTime = dateFormat.format(new Date(System.currentTimeMillis() + 20 * 60 * 1000)); // 将当前时间加上20分钟,得到目标时间的字符串表示
// 等待到目标时间后执行后续代码
while (true) {
String currentTime = dateFormat.format(new Date());
if (currentTime.compareTo(targetTime) >= 0) { // 使用字符串比较判断是否到达目标时间
// 执行后续代码
break;
}
Thread.sleep(1000); // 每隔1秒钟检查一次时间
}
```
以上代码先使用SimpleDateFormat将当前时间和目标时间格式化为字符串,然后在一个while循环中,每隔1秒钟检查一次当前时间,使用字符串比较判断是否到达目标时间。如果当前时间晚于或等于目标时间,则执行后续代码并退出循环。如果当前时间还没到达目标时间,则继续等待。需要注意的是,由于线程休眠时间不精确,因此实际上可能会比目标时间晚一些执行后续代码。
另外,需要注意的是,如果需要在Java应用程序中等待一段时间后执行某些操作,可以考虑使用Java的定时任务框架,如Timer和ScheduledExecutorService。这些框架可以更加精确地控制时间,并且可以支持周期性任务和异步执行任务等功能。
阅读全文