我正在创建一个测试文件,我需要用上午 7 点到上午 11 点之间的随机时间填充它。重复条目是可以的,只要它们不完全相同
我也只对 HH:MM 感兴趣(没有秒数)
我不知道从哪里开始。我在发帖前进行了谷歌搜索,发现了一个有趣的搜索结果
www.random.org/clock-times/
唯一的问题是所有“随机”生成的时间都是按顺序排列的。我可以将它打乱一次,但我需要生成 100 到 10,000 个条目。
我希望创建一个 WinForm C# 应用程序来帮助我做到这一点。
计算开始时间和停止时间之间的分钟数,然后生成一个介于 0 和最大分钟数之间的随机数:
Random random = new Random();
TimeSpan start = TimeSpan.FromHours(7);
TimeSpan end = TimeSpan.FromHours(11);
int maxMinutes = (int)((end - start).TotalMinutes);
for (int i = 0; i < 100; ++i) {
int minutes = random.Next(maxMinutes);
TimeSpan t = start.Add(TimeSpan.FromMinutes(minutes));
// Do something with t...
}
注意事项:
- 您应该只创建一个随机对象,否则您会连续得到很多重复项。
- 包含开始时间但不包含结束时间。如果您还想包括结束时间,请将 maxMinutes 加 1。