[英]How can I convert a DateTime value to a double?
如何將DateTime
值轉換為double
?
如果,通過double
表示OLE自動化日期,則可以使用DateTime.ToOADate()
。 從鏈接的MSDN主題:
OLE自動化日期實現為浮點數,其值為1899年12月30日午夜的天數。例如,1899年12月31日午夜由1.0表示; 1900年1月1日上午6點由2.25表示; 1899年12月29日午夜以-1.0表示; 1899年12月29日上午6點用-1.25表示。
基本OLE自動化日期是1899年12月30日午夜。最大OLE自動化日期與MaxValue相同,即9999年12月31日的最后一刻。
如果您正在談論其他日期表示也可以存儲在double
,請指定......
DateTime.ToOADate()轉換為C#中的雙OLE自動化日期
是,OLE自動化日期啟用Datetime
轉換為十進制/雙Datetime
類型。 但是,十進制/雙Datetime
的結果/值不是精確的系統Datetime
。
例如,
Decimal dateIndDec = Convert.Decimal (Datetim.Today.ToOADate());
不等於MS SQL
Select Convert (Decimal (10, 9), GetDate())
結論:OLE自動化日期不是真正的系統datetime
信息...無法使用它。
我一直在搜索C#中的轉換Datetime
值到十進制值,沒有任何運氣。
您可以計算DateTime和DateTime.MinValue之間的差異,然后獲取任何Total*
值。
var difference = DateTime.Now - DateTime.MinValue;
Console.WriteLine(difference.TotalMinutes);
Console.WriteLine(difference.TotalMilliseconds);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.