Java 生成随机日期,时间

来源:互联网 发布:淘宝左右香水是正品吗 编辑:程序博客网 时间:2024/06/05 17:24

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号等。