Я взял ответ @Joel Coehoorn и внес изменения, которые он посоветовал, - исключил переменную из метода и поместил все в класс. Плюс теперь время тоже случайное. Вот результат.
class RandomDateTime
{
DateTime start;
Random gen;
int range;
public RandomDateTime()
{
start = new DateTime(1995, 1, 1);
gen = new Random();
range = (DateTime.Today - start).Days;
}
public DateTime Next()
{
return start.AddDays(gen.Next(range)).AddHours(gen.Next(0,24)).AddMinutes(gen.Next(0,60)).AddSeconds(gen.Next(0,60));
}
}
И пример того, как использовать для записи 100 случайных DateTimes в консоль:
RandomDateTime date = new RandomDateTime();
for (int i = 0; i < 100; i++)
{
Console.WriteLine(date.Next());
}