如何在Java中生成随机时间戳?

我想生成一个随机时间戳,并向其添加一个随机增量,以生成第二个时间戳。那可能吗?

如果我传递随机的long值来创建时间戳,并且我想随机生成该long值,那么生成该值以给出2012年的时间戳的约束是什么?

回答:

您需要将随机数缩放到特定年份的范围,然后将年份的开始添加为偏移量。一年中的毫秒数从一年到另一年(le年有额外的一天,某些年份有leap分钟,依此类推),因此您可以按以下步骤确定范围:

long offset = Timestamp.valueOf("2012-01-01 00:00:00").getTime();

long end = Timestamp.valueOf("2013-01-01 00:00:00").getTime();

long diff = end - offset + 1;

Timestamp rand = new Timestamp(offset + (long)(Math.random() * diff));

以上是 如何在Java中生成随机时间戳? 的全部内容, 来源链接: utcz.com/qa/424584.html

回到顶部