Je suis en train de convertir DateTime à ce jour Julian et arrière sous Windows 7.fenêtres microsecondes de précision de calcul
public static double ToJulianDate(this DateTime dt) {
return dt.ToOADate() + 2415018.5;
}
public static DateTime Julian2DT(this double julian) {
return DateTime.FromOADate(julian - 2415018.5);
}
Lorsque je teste ces deux fonctions comme ci-dessous
var dt = DateTime.Now;
dt.ToString("yyyy-MM-dd HH:mm:ss.ffffff").Dump();
dt.ToJulianDate().Julian2DT().ToString("yyyy-MM-dd HH:mm:ss.ffffff").Dump();
la date Julian inversée a toujours une valeur légèrement différente de la valeur DateTime d'origine par des centaines de microsecondes.
Ai-je écrire un code erroné ou il y a quelques inexactitudes microsecondes dans les fenêtres système de temps?
Nous vous remercions de votre réponse. Une chose étrange est DateTime.FromOADate (dt.ToOADate()) est exactement la même chose avec dt.ToJulianDate(). Julian2DT() alors que différent de l'original dt. –
DateTime.FromOADate (dt.ToOADate()) a également un problème de précision de microsecondes. –