`
liushengit
  • 浏览: 36696 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

随机生成指定日期区间的Date

 
阅读更多
//String startDateTime = "2019-05-06 08:00";
		//String endDateTime = "2019-05-06 18:00";
		String startDateTime = params.getStartTime();
		String endDateTime = params.getEndTime();
		String startDateStr = startDateTime.substring(0,10);
		String endDateStr = endDateTime.substring(0,10);
		String endTimeStr = endDateTime.substring(11);
		
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
		Date startDate = sdf.parse(startDateStr);
		Date endDate = sdf.parse(endDateStr);
		Long millDiff = endDate.getTime() - startDate.getTime();
		Long dayDiff = millDiff / (1000 * 60 * 60 * 24);
		System.out.println("dayDiff=" + dayDiff);
		
		Random random=new java.util.Random();//定义随机类
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
		Date z = sdf.parse(startDateStr);//凌晨
		Date s = sdf2.parse(startDateTime);//开始时间
		Date e = sdf2.parse(startDateStr + " " + endTimeStr);//结束时间
		
		Long szMinDff = (s.getTime() - z.getTime()) / (1000 * 60);//凌晨 至 开始时间 的分钟数
		Long esMinDff = (e.getTime() - s.getTime()) / (1000 * 60);//开始时间 至 结束时间 的分钟数
		for(int i=0;i<params.getNum();i++){
			//生成随机日期
			int result = random.nextInt(dayDiff.intValue() + 1);//随机天数
			cal.setTime(startDate);
			cal.add(Calendar.DAY_OF_MONTH, result);//开始日期 + 随机天数
			Date clientInvoiceDatetime = cal.getTime();//随机日期
			
			//随机日期 + 随机分钟
			int randomMin = random.nextInt(esMinDff.intValue()) + szMinDff.intValue();
			cal.setTime(clientInvoiceDatetime);
			cal.add(Calendar.MINUTE, randomMin);
			clientInvoiceDatetime = cal.getTime(); //最终的时间
		}

 

分享到:
评论

相关推荐

    java生成指定范围的随机日期

    通过本文,我们将详细介绍如何使用Java生成指定范围的随机日期,包括使用Calendar和Date类来处理日期和时间。 Java生成指定范围的随机日期的思路 要生成指定范围的随机日期,我们可以将问题转化为求两个long类型数...

    生成随机数据_2

    例如,`=RAND()*(top-bottom)+bottom`可以应用于一个单元格范围,生成指定区间的随机数。 5. **条件随机数**:如果你需要根据某些条件生成随机数,可以结合其他Excel函数,如IF或VLOOKUP。例如,你可以设置一个概率...

    时间生成器

    它可能包含自定义格式化、时间区间生成、特定时间点转换等功能,帮助用户快速生成符合特定需求的时间数据。 在编程中,日期和时间的处理是一项常见的任务,尤其是在数据分析、日志记录、事件触发等场景。通常,我们...

    生成模拟数据的存储过程例子

    若要指定数字范围,可以使用`FLOOR(RAND()*(max-min+1))+min`,这样可以生成[min, max]区间内的随机整数。 存储过程在生成模拟数据时,可以根据业务需求设置不同的规则。比如,创建模拟用户信息时,可以生成随机的...

    实现两个数互换的六种方法

    目录基本数据类型借助第三个变量不借助第三个变量异或引用数据类型 基本数据类型 ... * 随机生成两个固定序列的0-100之间的整数, * 其中101表示生成的数范围区间在:[0-101) */ Random random = new

    js生成随机数之random函数随机示例

    JavaScript中的`Math.random()`函数是生成随机数的重要工具,它能提供从0(包含)到1(不包含)之间的伪随机数。这个数值是浮点型,精确到小数点后16位。这意味着你不可能得到1.0,但可以得到0.0。 随机数在各种...

    Quote:提供随机报价-matlab开发

    MATLAB中的`rand`函数是生成随机数的基础,它能够产生[0, 1)区间内的均匀分布随机数。例如,如果你需要生成10个这样的随机数,可以使用以下代码: ```matlab random_numbers = rand(1, 10); ``` 二、股票报价模拟 ...

    random:随机示例项目

    7. **JavaScript的Date对象**:虽然不是直接生成随机数,但`Date.now()`可以获取当前时间的毫秒数,可用于生成基于时间的唯一ID,这也是一种随机性应用。 8. **模拟随机事件**:在模拟或游戏中,可以用JavaScript的...

    PYTHON_GAME_02星座查询.zip

    Python的标准库中,如`sys`模块可能用于命令行参数处理,`datetime`模块用于日期和时间的计算,`random`模块可能用于随机生成测试数据。 1. **日期和时间处理**:`datetime`模块是Python中处理日期和时间的关键。在...

    普通倒记时和抽奖号码对比的代码

    为了确保抽奖号码的公平性,我们通常会设定一个均匀分布的随机数生成区间,然后将这个区间映射到具体的奖号范围。 在这个“抽奖号码对比”部分,可能还包括了对抽奖结果的存储和展示。这可能涉及到数据结构如列表来...

    JavaScript生成一个不重复的ID的方法示例

    此版本将当前时间戳转换为36进制字符串,并将其与一个随机生成的36进制字符串连接起来,得到类似`ix49sfsnt7514k5wpflyb5l2vtok9y66r`的ID。这样做大幅降低了重复的可能性,因为时间戳提供了较高的独特性。 6. 引入...

    《Excel应用大全》示例文件 光盘文件

    • 利用DATE 函数生成指定日期 • 利用运算符计算日期相差天数 • 利用日期函数计算公民年龄 • 利用日期函数计算员工退休日期 • 计算上月的天数 • 计算目标日期所在季度的最后一天 • 返回目标日期是全年中的第几...

    常用java程序实例

    按概率随机生成数字 在2、3、5中任意输入一个数,出现2的概率为20%,3的概率为30%,5的概率为50%: ```java class RandomNum2 { public static void main(String[] args) { RandomNum2 rm = new RandomNum2(); ...

    一些groovy的实例代码--免费下载

    - `new Random().nextInt(max)`生成指定范围内的随机数。 8. **更随机的随机数** - 通过系统时间或其他不可预测源增加随机性。 9. **偏差随机数** - 调整随机数分布,使其偏向某一区间。 10. **角度三角函数**...

    python模块

    - `random.randrange(start, stop[, step])`:生成[start, stop)区间内的随机整数,支持步长。 - **`os`模块**:提供了很多操作系统相关的功能。 - `os.getcwd()`:获取当前工作目录。 - `os.chdir(path)`:改变...

    Excel 2003常用函数完全手册(中文目录)

    13. **RAND函数**:生成随机数,常用于模拟实验或创建随机数据。 14. **COUNTIF和COUNTIFS函数**:对满足特定条件的单元格进行计数,COUNTIFS可以同时应用多个条件。 15. **SUMIF和SUMIFS函数**:根据条件进行求和...

    机器学习,pandas/python入门知识点汇总

    - **numpy.random.rand**:生成[0,1)区间内的均匀分布随机样本,适用于创建随机数据或测试数据集。 ##### DataFrame - **定义**:DataFrame 是 Pandas 中的核心数据结构之一,类似于二维数组或电子表格,其中每一列...

    关于Python列表排序

    排序时,`sort()`和`sorted()`都支持`key`参数,允许你指定自定义的排序规则。例如,如果列表包含字符串,你可以根据字符串长度进行排序: ```python fruits = ['apple', 'banana', 'cherry', 'date'] fruits.sort...

    2021-2022计算机二级等级考试试题及答案No.4155.docx

    8. 随机整数生成:INT(100*RND(1)) 会在 [0, 100) 区间内生成随机整数,不包括 100,因此闭区间是 [0, 99]。正确答案:B。 9. 日期类型数据:在表达式 date()-{^1985-10-1} 中,减去日期会导致结果不是一个日期类型...

    2021-2022计算机二级等级考试试题及答案No.11455.docx

    选项B通过调整乘法因子和加法偏移量确保生成的随机数落在指定区间内。 ### 15. 数据流图的应用 - **正确答案**:B.需求分析 - **知识点解析**:数据流图(Data Flow Diagram, DFD)主要用于需求分析阶段,帮助描述...

Global site tag (gtag.js) - Google Analytics