Search code examples
c#datetimeaverage

How to find an average date/time in the array of DateTime values


If I have an array of DateTime values:

List<DateTime> arrayDateTimes;

What's the way to find the average DateTime among them?

For instance, if I have:

2003-May-21 15:00:00
2003-May-21 19:00:00
2003-May-21 20:00:00

the average should be:

2003-May-21 18:00:00

Solution

  • If you have large list you can use below method

    var count = dates.Count;
    double temp = 0D;
    for (int i = 0; i < count; i++)
    {
        temp += dates[i].Ticks / (double)count;
    }
    var average = new DateTime((long)temp);