Java生成某段时间内的随机时间

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

回到顶部