上代码:
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 }