1
我想要的DateTime轉換成公曆日期和扭轉它的Windows 7窗口微秒計算精度
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);
}
下,當我測試這兩個功能,如下面
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();
反轉Julian日期始終與原始DateTime值的值稍微不同,其值爲數百微秒。
我寫了一個錯誤的代碼,或者Windows時間系統中有一些微秒的不準確性嗎?
謝謝您的回答。奇怪的是DateTime.FromOADate(dt.ToOADate())與dt.ToJulianDate()。Julian2DT()完全相同,但與原始dt不同。 – 2013-02-25 07:13:23
DateTime.FromOADate(dt.ToOADate())也有微秒精度問題。 – 2013-02-25 07:14:35