如何生成从24小时前到当前系统时间的任意时间?

au9on6nz  于 2021-06-27  发布在  Java
关注(0)|答案(3)|浏览(378)
LocalDateTime now = LocalDateTime.now();

如何或从何处开始执行这行代码?

yqlxgs2m

yqlxgs2m1#

是的,我刚刚看到克里斯蒂安发布了一个更随机的解决方案,但我只是想留在这里,以防有人需要只是随机的时间。

public static LocalDateTime minusRandomHours(int inputHours) {
    int hours = new Random().nextInt(inputHours);
    LocalDateTime randomTime = LocalDateTime.now().minusHours(hours);
    return randomTime;
}
pkln4tw6

pkln4tw62#

你可以做到:

LocalDateTime.now().minusHours(new Random().nextInt(24));

如果你需要你同样可以添加 .minusMinutes(new Random().nextInt(60)) 或者 .minusSeconds(new Random().nextInt(60))

0sgqnhkj

0sgqnhkj3#

此函数为您提供 LocalDateTime 在过去的24小时内。随机值基于24小时的秒数:

import java.time.*;
import java.util.concurrent.ThreadLocalRandom;

public LocalDateTime randomLast24Hours() {
  Long secondsOfDay = Duration.ofDays(1).getSeconds();
  Long randomSeconds = ThreadLocalRandom.current().nextLong(secondsOfDay + 1);
  return LocalDateTime.now().minusSeconds(randomSeconds);
}

相关问题