相关疑难解决方法(0)

在两个日期之间获取随机DateTime的最佳做法是什么?

我正在尝试将值随机化为一个简单的DateTime数据字段.

我希望获得两个日期/时间之间的随机日期/时间(例如,最小日期/时间和最大日期/时间).

所以让我们想象一下我之间的随机日期/时间

1/1/2000 10:00:00am1/1/2000 5:00:00pm.

此外,此代码将用于for循环,包含100个项目...意味着所有100个项目将具有最小/最大日期/时间段之间的随机日期/时间.

有任何想法吗?

.net c# random datetime

17
推荐指数
2
解决办法
2万
查看次数

范围之间的随机日期时间 - 不统一输出

我实现了下面的RandomDate,但我总是让值关闭到"从"日期,我可能会错过这里的东西....

public static DateTime GetRandomDate(DateTime from, DateTime to)
    {
        var range = new TimeSpan(to.Ticks - from.Ticks);

        var rnd = new Random();

        var randTimeSpan = new TimeSpan((long)(range.TotalSeconds - rnd.Next(0, (int)range.TotalSeconds))); 

        return from + randTimeSpan;
    }
Run Code Online (Sandbox Code Playgroud)

c# random datetime timespan

6
推荐指数
1
解决办法
2万
查看次数

生成(U)Int64和Decimal的(伪)随机约束值

注意:为简洁起见,以下内容无法区分随机性和伪随机性.此外,在此上下文中,约束意味着给定的最小值和最大值之间)

System.Random类提供随机生成整数,双打和字节数组.使用Random.Next,可以轻松生成类型为布尔值,字符,(S)字节,(U)Int16,(U)Int32的随机约束值.使用时Random.NextDouble(),可以类似地生成Double和Single类型的约束值(就我对此类型的理解而言).随机串生成(给定长度和字母的)已经 解决 之前.

考虑剩余的原始数据类型(不包括Object):Decimal和(U)Int64.他们的随机生成也已被解决(Decimal,(U)Int64使用Random.NextBytes()),但不受限制.理论上可以使用拒绝采样(即循环直到生成的值是所需范围),但这显然不是一个实际的解决方案.归一化NextDouble()不起作用,因为它没有足够的有效数字.

简而言之,我要求正确实现以下功能:

long NextLong(long min, long max)
long NextDecimal(decimal min, decimal max)
Run Code Online (Sandbox Code Playgroud)

请注意,由于System.DateTime基于ulong,第一个函数也允许随机约束生成此类结构(类似于此处,仅在刻度而不是分钟内).

c# random

5
推荐指数
2
解决办法
6621
查看次数

如何在一个范围内生成随机日期?

我正在自动化一个应用程序,可以在指定的日期范围之间打开记录.我知道我可以创建一个随机选择数组中数字的数组,例如:

DateTime.Now.AddDays(90).ToString("MM/dd/yyyy")
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有更好的方法来解决这个问题.请帮忙!谢谢.

c# datetime

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c# ×4

datetime ×3

random ×3

.net ×1

timespan ×1