我具有类似于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