我具有類似於Borland的TDateTime類型到.NET日期時間轉換
How to convert a double value to a DateTime in c#?
我有的TIMEDATE信息被拉動爲8字節從UDP數據流長的數的最新的轉換問題。這是Borland C++中的TDateTime對象的雙精度編碼,它與COM datetime兼容。
我在Visual Studio C#中解碼這個數據流,並且任何對DateTime對象的轉換都會出現奇怪的日期。
我認爲DateTime.FromBinary()可能會做到這一點,但這並不能正確解碼時間/日期。
用於現在的十六進制值()是在兩個系統之間廣泛不同:
Borland: 0x 40E4A17C20782C71
C# : 0x 8E6EA19D6CB5D288
這些值取自彼此幾秒但顯然是不同的。
如果任何人有任何建議如何轉換,我將不勝感激!
您鏈接到的問題已經給出了準確的答案:使用'DateTime.FromOADate',而不是'DateTime.FromBinary'。如果你有一些沒有涉及的問題,請問你真的在做什麼。 – hvd
不是:他說他有'40880.051388'。我有0x40E4A17C20782C71。我'真正追求的'是從我所擁有的東西到他所擁有的東西的轉換,或者是從我從數據到DateTime的直接轉換。 – user3235770
所以你有問題反序列化你的二進制數據爲雙? – hvd