我必须为外部应用程序创建一个xml文件我没有文件结构的描述,所以我必须通过逆向工程。原始所需文件具有属性
LastChange = "43061.2997590394"
我认为这是特殊DateTime格式的结果。
DateTime.Parse("43061.2997590394")
抛出异常。
有谁知道这是什么格式?
答案 0 :(得分:4)
double oaValue = double.Parse("43061.2997590394", CultureInfo.InvariantCulture);
DateTime dt = DateTime.FromOADate( oaValue ); // Result: 11/22/2017 07:11:39
来自MSDN的评论:
OLE自动化日期实现为浮点数 积分分量是午夜之前或之后的天数,30 1899年12月,其小数部分代表时间 那天除以24。例如,1899年12月31日午夜 以1.0表示; 1900年1月1日上午6点,由2.25表示; 1899年12月29日午夜以-1.0表示;和上午6点,29 1899年12月以-1.25表示。
基本OLE自动化日期是1899年12月30日午夜 最小OLE自动化日期是0100年1月1日午夜。最大值 OLE自动化日期与最后一刻的DateTime.MaxValue相同 9999年12月31日。