.NET DateTime, ¿una resolución diferente al convertir ay desde OADate?
Estoy convirtiendo un DateTime a OADate. Esperaba obtener exactamente el mismo DateTime al volver a convertir el OADate, pero ahora solo tiene una resolución de milisegundos y, por lo tanto, es diferente.
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
Garrapatas de a: 634202170964319073
Garrapatas de b: 634202170964310000
El doble de OADate: 40437.290467951389
¿Cuál es la razón para esto? La resolución de DateTime es claramente lo suficientemente buena.