
package com.aaron;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
public class RandomDateUtil {
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
List<Date> dates = randomDate("2021-6-21 00:00:00", "2021-07-01 23:59:59", 100,-1);
dates.forEach(t -> System.out.println(sdf.format(t)));
}
/**
* 生成size数量的随机时间,位于[start,end)范围内 时间倒序排列
* @param start 开始时间
* @param end 结束时间
* @param size 生成时间个数
* @param order 结果排序:-1时间倒叙,0 乱序,1时间正序
* @return List<Date>
* @throws Exception
*/
public static List<Date> randomDate(String start, String end, int size, int order) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date startTime = sdf.parse(start);
Date endTime = sdf.parse(end);
Random random = new Random();
List<Date> dates = random.longs(size, startTime.getTime(), endTime.getTime()).mapToObj(t -> new Date(t)).collect(Collectors.toList());
dates.sort((t1,t2)->{
return t1.compareTo(t2) * order;
});
return dates;
}
}

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)