Кнопка календаря C#: генерация случайных дат

Чтобы генерировать случайные даты с помощью кнопки календаря C#, вы можете использовать следующие методы:

  1. Метод 1. Использование классов DateTime и Random

    DateTime startDate = new DateTime(2023, 1, 1); // Start date
    DateTime endDate = new DateTime(2023, 12, 31); // End date
    Random random = new Random();
    TimeSpan timeSpan = endDate - startDate;
    TimeSpan randomSpan = new TimeSpan(0, random.Next(0, (int)timeSpan.TotalMinutes), 0);
    DateTime randomDate = startDate + randomSpan;
  2. Метод 2: использование метода Random.Next с целочисленным представлением дат

    DateTime startDate = new DateTime(2023, 1, 1); // Start date
    DateTime endDate = new DateTime(2023, 12, 31); // End date
    Random random = new Random();
    int startDays = (int)startDate.ToOADate();
    int endDays = (int)endDate.ToOADate();
    int randomDays = random.Next(startDays, endDays);
    DateTime randomDate = DateTime.FromOADate(randomDays);
  3. Метод 3. Использование метода Random.Next с галочками

    DateTime startDate = new DateTime(2023, 1, 1); // Start date
    DateTime endDate = new DateTime(2023, 12, 31); // End date
    Random random = new Random();
    long startTicks = startDate.Ticks;
    long endTicks = endDate.Ticks;
    long randomTicks = (long)(random.NextDouble() * (endTicks - startTicks) + startTicks);
    DateTime randomDate = new DateTime(randomTicks);