因为一些测试需要获取时间,就写了一下代码,给大家分享一下:
package Demo01;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test03 {
public static void main(String[] args) throws ParseException {
Date date = randomDate("2018-11-30", "2018-12-4");
System.out.println(date);
}
public static Date randomDate(String beginDate,String endDate ) throws ParseException {
//时间格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//定义开始时间
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);
}
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;
}
}
有没有觉得很好玩?