Java生成某段时间内的随机时间

简介:

上代码: 

复制代码
 1 import java.text.SimpleDateFormat;
 2 import java.util.Date;
 3 
 4 public class DateUtil {
 5     
 6     /**
 7      * 生成随机时间
 8      * 
 9      * @param beginDate
10      * @param endDate
11      * @return
12      */
13     public static Date randomDate(String beginDate, String endDate) {
14         try {
15             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
16             Date start = format.parse(beginDate);// 构造开始日期
17             Date end = format.parse(endDate);// 构造结束日期
18             // getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
19             if (start.getTime() >= end.getTime()) {
20                 return null;
21             }
22             long date = random(start.getTime(), end.getTime());
23             return new Date(date);
24         } catch (Exception e) {
25             e.printStackTrace();
26         }
27         return null;
28     }
29 
30     public static long random(long begin, long end) {
31         long rtn = begin + (long) (Math.random() * (end - begin));
32         // 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
33         if (rtn == begin || rtn == end) {
34             return random(begin, end);
35         }
36         return rtn;
37     }
38     
39     public static void main(String[] args) {
40         Date randomDate = randomDate("2010-09-20", "2010-09-22");
41         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
42         String result = format.format(randomDate);
43         System.out.println(result);
44     }
45 }
复制代码

 


本文转自SummerChill博客园博客,原文链接:http://www.cnblogs.com/DreamDrive/p/6373092.html,如需转载请自行联系原作者

相关文章
|
Java
java时间换算(BJU转UTC)
UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。
294 0
java时间换算(BJU转UTC)
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
841 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
|
算法 搜索推荐 Java
线性时间选择(Top K)问题(Java)
线性时间选择(Top K)问题(Java)
251 0
线性时间选择(Top K)问题(Java)
java获取时间间隔,获取当天每隔15分钟的时间
Java开发中日常遇到的关于时间的问题
java获取时间间隔,获取当天每隔15分钟的时间
|
Java 程序员
Java中如何处理时间--Date类
在实际业务中,总会碰到关于时间的问题,例如收集当年的第一季度的数据。第一季度也就是当年的一月一日到三月三十一日。如何处理时间的逻辑,如果用字符串去处理显然不可以,Java有专门的处理时间的类,在此记录一下。Date 类有如下两个构造方法。Date():此种形式表示分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),使用该构造方法创建的对象可以获取本地的当前时间。
175 0
Java中如何处理时间--Date类
|
关系型数据库 MySQL Java
Linux系统下java程序获取的时间与系统时间不一致的问题
解决Linux系统下java程序获取的时间与系统时间不一致的问题
1360 0
Linux系统下java程序获取的时间与系统时间不一致的问题
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
706 0
Java&Android获取当前日期、时间、星期几、获取指定格式的日期时间、时间戳工具类包含使用示例
|
Java
Java中格林尼治时间和时间戳的相互转换
Java中格林尼治时间和时间戳的相互转换
741 0
Java将CST的时间字符串转换成需要的日期格式字符串
Java将CST的时间字符串转换成需要的日期格式字符串
下一篇
无影云桌面