使用LocalDateTime
时间: 2023-07-11 08:44:28 浏览: 47
同样可以使用Java 8中的LocalDateTime类来生成指定范围内的随机时间。以下是一个示例代码:
```java
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.Random;
public class RandomTimeGenerator {
public static void main(String[] args) {
LocalDateTime startDateTime = LocalDateTime.of(2021, 1, 1, 0, 0, 0); // 起始时间,假设为2021年1月1日
LocalDateTime endDateTime = LocalDateTime.of(2021, 12, 31, 23, 59, 59); // 结束时间,假设为2021年12月31日23时59分59秒
Random random = new Random();
long days = startDateTime.until(endDateTime, ChronoUnit.DAYS); // 计算时间范围内的天数
LocalDateTime randomDateTime = startDateTime.plusDays(random.nextInt((int) days + 1)) // 随机生成天数
.plusHours(random.nextInt(24)) // 随机生成小时数
.plusMinutes(random.nextInt(60)) // 随机生成分钟数
.plusSeconds(random.nextInt(60)); // 随机生成秒数
System.out.println(randomDateTime);
}
}
```
在上面的代码中,我们先使用LocalDateTime类创建起始时间和结束时间,然后计算时间范围内的天数。接下来,我们使用Random类随机生成一个0到天数之间的整数,加上起始时间得到一个随机的日期时间。最后,我们再随机生成小时数、分钟数和秒数,得到最终的随机日期时间。