从品牌网站建设到网络营销策划,从策略到执行的一站式服务
有这样一个需求:构造一个方法,随机生成1990-12-31 00:00 00到 2013-12-31 00:00:00之间任意一个时间点。
思路是这样:在javaAPI中 Date类型和long类型很好转化,所以我们可以把问题转化为,求两个long类型数之间的任意值。
同时需要了解java API中的:Math.round(double) Math.random(); new Date(year,month,day); Calendar。
Math.random() 会随机生成大于等于0小于1的随机的double类型。
Math.round(double ) 需要传入一个double类型,返回最接近这个double类型的long类型。
Calendar 是处理时间的工具类,如Date一样Calendar的月份也是从0开始计算
具体代码如下
public static String randomDateBetweenMinAndMax(){ Calendar calendar = Calendar.getInstance(); //注意月份要减去1 calendar.set(1990,11,31); calendar.getTime().getTime(); //根据需求,这里要将时分秒设置为0 calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND,0); long min = calendar.getTime().getTime();; calendar.set(2013,11,31); calendar.set(Calendar.HOUR_OF_DAY,0); calendar.set(Calendar.MINUTE,0); calendar.set(Calendar.SECOND,0); calendar.getTime().getTime(); long max = calendar.getTime().getTime(); //得到大于等于min小于max的double值 double randomDate = Math.random()*(max-min)+min; //将double值舍入为整数,转化成long类型 calendar.setTimeInMillis(Math.round(randomDate)); return calendar.getTime().toString(); }
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图