Java 没有随机生成日期,时间的函数。不过有Random函数。通过灵活使用Random 函数可以生成日期,时间。
引用:
import java.util.Random;
函数详情如下:
public String randomDate(){
Random rndYear=new Random();
int year=rndYear.nextInt(18)+2000; //生成[2000,2017]的整数;年
Random rndMonth=new Random();
int month=rndMonth.nextInt(12)+1; //生成[1,12]的整数;月
Random rndDay=new Random();
int Day=rndDay.nextInt(30)+1; //生成[1,30)的整数;日
Random rndHour=new Random();
int hour=rndHour.nextInt(23); //生成[0,23)的整数;小时
Random rndMinute=new Random();
int minute=rndMinute.nextInt(60); //生成分钟
Random rndSecond=new Random();
int second=rndSecond.nextInt(60); //秒
return year+"-"+month+"-"+Day+" "+hour+":"+minute+":"+second;
}
这样输出结果是“yyyy-m-d h:m:s ”类型的字符串。如果需要两位的 那使用下面的函数:
private String randomDate(){
Random rndYear=new Random();
int year=rndYear.nextInt(18)+2000;
Random rndMonth=new Random();
int month=rndMonth.nextInt(12)+1;
Random rndDay=new Random();
int Day=rndDay.nextInt(30)+1;
Random rndHour=new Random();
int hour=rndHour.nextInt(23);
Random rndMinute=new Random();
int minute=rndMinute.nextInt(60);
Random rndSecond=new Random();
int second=rndSecond.nextInt(60);
return year+"-"+cp(month)+"-"+cp(Day)+" "+cp(hour)+":"+cp(minute)+":"+cp(second);
}
private String cp(int num){
String Num=num+"";
if (Num.length()==1){
return "0"+Num;
}else {
return Num;
}
}
这样使用randomDate()后格式为:“yyyy-mm-dd HH:mm:ss”;
如:2016-05-25 09:33:01
注:生成的日期的可能不存在的日期;如2月31号等。