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

c00000fd picture c00000fd · May 22, 2013 · Viewed 14.5k times · Source

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

Answer

Damith picture Damith · May 22, 2013

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);