【发布时间】:2013-12-02 06:28:51
【问题描述】:
我正在自动化一个可以在指定日期范围内打开记录的应用程序。我知道我可以创建一个在我的数组中随机选取一个数字的数组,例如:
DateTime.Now.AddDays(90).ToString("MM/dd/yyyy")
但是,我想知道是否有更好的方法来解决这个问题。请帮忙!谢谢。
【问题讨论】:
-
不要使用字符串作为数据库中
datetime列的参数。
我正在自动化一个可以在指定日期范围内打开记录的应用程序。我知道我可以创建一个在我的数组中随机选取一个数字的数组,例如:
DateTime.Now.AddDays(90).ToString("MM/dd/yyyy")
但是,我想知道是否有更好的方法来解决这个问题。请帮忙!谢谢。
【问题讨论】:
datetime 列的参数。
void Main()
{
Console.WriteLine(DateTime.UtcNow.AddDays(new Random().Next(90)));
}
这将为开始日期添加随机天数,基本上以随机日期结束。
【讨论】:
假设您希望日期在生成日期的 90 天范围内。然后,你可以试试这个:
int seed = (int)DateTime.Now.Ticks;
int days = seed % 90;
DateTime.Now.AddDays(days).ToString("MM/dd/yyyy");
当然,您可以重构它。为了清楚起见,我很冗长。您还可以将整数值 90 更改为您希望成为范围上限的任何整数。
希望这会有所帮助。
【讨论】:
Random correctly(通过将其作为类本地变量或静态变量放在方法主体之外),您可以尽可能快地调用它并每次都获得随机值。