private static Date randomDate(String statDate, String enDate) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String beginDate = statDate + " 00:00:00";
String endDate = enDate + " 00:00:00";
Date start = format.parse(beginDate);
Date end = format.parse(endDate);
if (start.getTime() >= end.getTime()) {
return null;
}
long date = randomD(start.getTime(), end.getTime());
Date newDate = new Date(date);
Calendar c = Calendar.getInstance();
c.setTime(newDate);
if (c.get(Calendar.HOUR_OF_DAY) < 9) {
c.add(Calendar.HOUR, 7);
}
if (c.get(Calendar.HOUR_OF_DAY) > 20) {
c.add(Calendar.HOUR, 12);
}
newDate = c.getTime();
return newDate;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
private static long randomD(long begin, long end) {
long rtn = begin + (long) (Math.random() * (end - begin));
if (rtn == begin || rtn == end) {
return randomD(begin, end);
}
return rtn;
}