java获取随机时间的代码片段
import java.text.parseexception; import java.text.simpledateformat; import java.util.date; public class getrandomtiem { //返回2011-01-01到2011-12-01的一个随机日期 public static void main(string []args){ simpledateformat format = new simpledateformat("hh:mm:ss"); date randomdate=randomdate("00:00:00","24:59:59"); string randomdats="shi"+randomdate.gethours()+"f"+randomdate.getminutes()+"m"+randomdate.getseconds(); system.out.println(randomdats); } /** * 获取随机日期 * @param begindate 起始日期,格式为:yyyy-mm-dd * @param enddate 结束日期,格式为:yyyy-mm-dd * @return */ private static date randomdate(string begindate,string enddate ){ try { simpledateformat format = new simpledateformat("hh:mm:ss"); date start = format.parse(begindate);//构造开始日期 date end = format.parse(enddate);//构造结束日期 //gettime()表示返回自 1970 年 1 月 1 日 00:00:00 gmt 以来此 date 对象表示的毫秒数。 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; } }