How to find the difference between two random future dates in C#

1 Answer

0 votes
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

*/

 



answered 5 hours ago by avibootz
...