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