如何生成随机Time
值?例如:07:02:33
,08:52:14
等我知道如何生成随机数,但我不知道如何做到这一点。我想用随机值填充我的数据库列TIME
。java:随机时间生成器
回答
不看如何生成随机时间戳,如果你知道如何生成随机数,你怎么样每次生成3个随机数,这样你就可以创建一个随机时间值?
如果您可以使用第三方库继承人使用乔达时间做一个方法。您将需要调整代码以适应您的方案:
final Random random = new Random();
for (int i = 0; i < 10; i++) {
final LocalTime time = new LocalTime(random.nextLong());
System.out.println(time);
}
输出示例:
01:58:24.328
10:59:20.576
07:52:40.011
11:53:54.524
13:43:57.474
21:51:25.032
11:46:35.988
16:20:20.224
09:47:10.404
22:35:43.337
我不认为这里需要乔达的时间;特别是因为他正在谈论数据库,并且很可能JDBC驱动程序会期望'java.util.Date'。 – 2013-02-20 16:21:39
很可能如此,如果他在他的数据库中存储了一个TIMESTAMP,那么他可以用'Date'替换'LocalTime'。 – Perception 2013-02-20 16:23:45
一个java.util.Date
仅仅是围绕一个长值的包装(因为毫秒为单位)。因此,您可以简单地使用Random.nextLong()
生成随机长整型值,并将结果包装在new Date(result)
之内。这些日期实例可以传递给JDBC驱动程序。
import java.util.Random;
import java.sql.Time;
final Random random = new Random();
final int millisInDay = 24*60*60*1000;
Time time = new Time((long)random.nextInt(millisInDay));
为了您的目的,这可能就够了。不要忘记,有些日子有不同的长度,您可能需要添加测试用例(夏令时和闰秒)。
使用随机生成器就像一个here RandomUtil class您可以在一些值之间进行随机日期等等。使用这个类
代码示例:
如果您需要更新现有的日期,你可以使用这样的代码的时间。只需将System.currentTimeMillis()替换为数据库中的日期即可。
java.util.Date dateFromDB = new java.util.Date(System.currentTimeMillis());
Calendar calendarFromDB = Calendar.getInstance();
calendarFromDB.setTime(dateFromDB);
java.util.Date randomDate = RandomUtil.getRandomDate(new java.util.Date(RandomUtil.getMinimumDate()), new java.util.Date(RandomUtil.getMaximumDate()), false);
Calendar calendar=Calendar.getInstance();
calendar.setTime(randomDate);
calendarFromDB.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY));
calendarFromDB.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE));
calendarFromDB.set(Calendar.SECOND, calendar.get(Calendar.SECOND));
dateFromDB = calendarFromDB.getTime();
输出示例:
周二7月26日2点30分27秒CET 157737154
,或者如果你想要一些日期之间只是随机的日期或时间
java.util.Date randomDate = RandomUtil.getRandomDate(new java.util.Date(RandomUtil.getMinimumDate()), new java.util.Date(RandomUtil.getMaximumDate()), false);
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
System.out.println(sdf.format(randomDate));
样品输出:
22时29分15秒
在,java1.8
Random generator = new Random(seed); LocalTime time = LocalTime.MIN.plusSeconds(generator.nextLong());
- 1. 生成的Java(乔达时间)随机日期时间
- 2. Java随机密码生成器问题
- 3. Java中的随机数生成器
- 4. 考虑条件生成随机时间
- 5. 生成随机时间戳围棋
- 6. 机器人 - 随机生成的日期和时间
- 7. 在随机时间生成随机线程C
- 8. jQuery在随机时间生成随机数
- 9. 随时间间隔生成随机颜色
- 10. 快速随机生成器
- 11. 随机报价生成器
- 12. 随机文本生成器
- 13. Javascript随机生成器
- 14. 随机诗生成器
- 15. 随机JSON生成器
- 16. 随机生成器Objective-C
- 17. 随机测验生成器
- 18. 随机生成器和CUDA
- 19. 随机季节生成器
- 20. 随机批生成器Tensorflow
- 21. PHP随机团队时间表生成器 - 循环调度
- 22. Haskell的随机发生器:链生成的随机值
- 23. Java:为机器人screencapture生成随机文件名
- 24. Java生成随机对象[作业]
- 25. 在Java中生成随机单词?
- 26. Java - 有效生成随机整数
- 27. 生成唯一的随机数字JAVA
- 28. 生成可验证的随机数 - Java
- 29. 生成随机数序列与在Java
- 30. 在java中生成随机数
采取这里帮助http://stackoverflow.com/questions/11016336/how-to-generate- a-random-timestamp-in-java – 2013-02-20 16:13:59