I'm converting a DateTime to OADate. I was expecting to get the exact same DateTime when converting the OADate back, but now it has only millisecond resolution, and is therefore different.
var a = DateTime.UtcNow;
double oadate = a.ToOADate();
var b = DateTime.FromOADate(oadate);
int compare = DateTime.Compare(a, b);
//Compare is not 0; the date times are not the same
Ticks from a: 634202170964319073
Ticks from b: 634202170964310000
The OADate double: 40437.290467951389
What is the reason for this? The resolution of DateTime is clearly good enough.