Windows 8 RT DateTime.FromOADate

时间:2014-08-19 15:02:26

标签: date datetime windows-8 ole windows-rt

最近开始将应用程序从Windows Phone 8移植到Windows 8 RT,并遇到了一个奇怪的问题:无法找到将DateTime结构转换为双OLE日期的方法。

早些时候,有方法DateTime.FromOADate和DateTime.ToOADate来执行此操作,但现在它们不可用。

...
double oaNow = System.DateTime.Now.ToOADate();  //ToOADate undefined
...

有什么不对?

2 个答案:

答案 0 :(得分:0)

无论出于何种原因,这都没有包含在RT目标中。它没有做任何特别的事情,它似乎可以携带。

您可以通过查看.NET Framework的Reference source来复制自己方法中的功能。

答案 1 :(得分:0)

尝试

double oaNow = System.DateTime.Now.Subtract(new DateTime(1899, 12, 30)).TotalDays;

根据文件

  

OLE自动化日期实现为浮点数,其积分分量是1899年12月30日午夜之前或之后的天数,其小数分量表示当天的时间除以24。例如,午夜,1899年12月31日以1.0表示; 1900年1月1日上午6点,由2.25表示; 1899年12月29日午夜以-1.0表示;和1899年12月29日上午6点用-1.25表示。