Java生成某段时间内的随机时间
上代码:
1 import java.text.SimpleDateFormat;2 import java.util.Date;
3
4 public class DateUtil {
5
6 /**
7 * 生成随机时间
8 *
9 * @param beginDate
10 * @param endDate
11 * @return
12 */
13 public static Date randomDate(String beginDate, String endDate) {
14 try {
15 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
16 Date start = format.parse(beginDate);// 构造开始日期
17 Date end = format.parse(endDate);// 构造结束日期
18 // getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
19 if (start.getTime() >= end.getTime()) {
20 return null;
21 }
22 long date = random(start.getTime(), end.getTime());
23 return new Date(date);
24 } catch (Exception e) {
25 e.printStackTrace();
26 }
27 return null;
28 }
29
30 public static long random(long begin, long end) {
31 long rtn = begin + (long) (Math.random() * (end - begin));
32 // 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
33 if (rtn == begin || rtn == end) {
34 return random(begin, end);
35 }
36 return rtn;
37 }
38
39 public static void main(String[] args) {
40 Date randomDate = randomDate("2010-09-20", "2010-09-22");
41 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
42 String result = format.format(randomDate);
43 System.out.println(result);
44 }
45 }
以上是 Java生成某段时间内的随机时间 的全部内容, 来源链接: utcz.com/z/391629.html