在Java中生成随机日期时间(约达时间)

是否可以使用Jodatime生成随机日期时间,以使日期时间的格式为yyyy-MM-dd

HH:MM:SS,并且应该能够生成两个随机日期时间,其中Date2减去Date1会大于2分钟但小于60分钟 请提出一些方法。

回答:

这严格遵循您的要求(更正的格式除外)。

Random random = new Random();

DateTime startTime = new DateTime(random.nextLong()).withMillisOfSecond(0);

Minutes minimumPeriod = Minutes.TWO;

int minimumPeriodInSeconds = minimumPeriod.toStandardSeconds().getSeconds();

int maximumPeriodInSeconds = Hours.ONE.toStandardSeconds().getSeconds();

Seconds randomPeriod = Seconds.seconds(random.nextInt(maximumPeriodInSeconds - minimumPeriodInSeconds));

DateTime endTime = startTime.plus(minimumPeriod).plus(randomPeriod);

DateTimeFormatter dateTimeFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");

System.out.println(dateTimeFormatter.print(startTime));

System.out.println(dateTimeFormatter.print(endTime));

如果运行此命令,您会注意到多年来您将获得令人发指的值,但这仅仅是在DateTime整个可能范围(或该日期的Date)上生成随机DateTime的结果。但是,如果需要,可以将结束时间限制在一定范围内的相同技术也可以应用到开始时间。

以上是 在Java中生成随机日期时间(约达时间) 的全部内容, 来源链接: utcz.com/qa/406074.html

回到顶部