思路
我们要指定一个起始日期,1900-1-1,这是最小值。
然后我们要指定一个最大日期,如2200-1-1
然后计算出两个日期之间的差值天数,简单算一下就是365300,
然后我们就可以得到一个(0-365300)的随机值,
只要初始日期加上这个随机值,就可以得到一个合法日期。
代码
DateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
//起始日期
Date start = dateFormat1.parse("1900-01-01");
Calendar calendar = new GregorianCalendar();
calendar.setTime(start);
//随机值
Random random = new Random();
int i = random.nextInt(365*200);
//加上随机值
calendar.add(Calendar.DATE,i);
Date end= calendar.getTime();
//输出日期格式
SimpleDateFormat f = new SimpleDateFormat("yyyy年MM月dd日");
System.out.println(f.format(end));