java生成随机日期

2017.11.23 java
private static Date randomDate(String beginDate, String endDate) {
	try {
		SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
		Date start = format.parse(beginDate);
		Date end = format.parse(endDate);
		if (start.getTime() >= end.getTime()) {
			return null;
		}
		long date = random(start.getTime(), end.getTime());
		return new Date(date);
	} catch (Exception e) {
		e.printStackTrace();
	}
	return null;
}

private static long random(long begin, long end) {
	long rtn = begin + (long) (Math.random() * (end - begin));
	if (rtn == begin || rtn == end) {
		return random(begin, end);
	}
	return rtn;
}

public static void main(String[] args) {
	Date date = randomDate("2017-01-01 01:01:01", "2017-10-10 01:01:01");
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
	System.out.println(format.format(date));
}

更新列表:

*

参考文章:

相关阅读