using System;
class Program
{
/*
* Generates a random future date by adding a random number of days
* to today's date. The range is controlled by minDays and maxDays.
*/
static DateTime GenerateRandomFutureDate(int minDays, int maxDays, Random rng) {
int randomOffset = rng.Next(minDays, maxDays + 1); // random number of days
return DateTime.Now.AddDays(randomOffset).Date; // convert to date-only
}
/*
* Calculates the difference between two dates and returns a TimeSpan.
*/
static TimeSpan CalculateDateDifference(DateTime date1, DateTime date2) {
return date2 - date1;
}
static void Main()
{
Random rng = new Random(); // random number generator
// Create two random future dates
DateTime date1 = GenerateRandomFutureDate(10, 40, rng); // between 10–40 days from now
DateTime date2 = GenerateRandomFutureDate(20, 60, rng); // between 20–60 days from now
// Calculate the difference
TimeSpan difference = CalculateDateDifference(date1, date2);
// Display results
Console.WriteLine("Random Future Date 1: " + date1.ToShortDateString());
Console.WriteLine("Random Future Date 2: " + date2.ToShortDateString());
Console.WriteLine("Difference in days: " + difference.Days);
}
}
/*
run1:
Random Future Date 1: 06/24/2026
Random Future Date 2: 06/15/2026
Difference in days: -9
run2:
Random Future Date 1: 06/01/2026
Random Future Date 2: 06/12/2026
Difference in days: 11
*/