繁体   English   中英

将十六进制值从 SQL Server 转换为 C# 中的日期时间

[英]Convert hex value from SQL Server to datetime in C#

我需要将 8 个字节从十六进制值转换为 C# 中的新日期时间。 该函数的作用应该与它在 SQL Server 中的作用相同。

我将十六进制值作为字符串“0000AC0500000000”或字节列表:

["0", "0", "172", "5", "0", "0", "0", " 0 ",]

从那以后,我需要获得日期“2020-07-27 00:00:00:000”。 SQL Server 的转换工作完美,只需 8 个字节即可恢复至毫秒。 如图所示SQL Server中的转换函数

使用以下

            string input = "0000AC0500000000";

            int daysFrom1900 = int.Parse(input.Substring(0,8),NumberStyles.HexNumber);
            int ticksFromMidnight = int.Parse(input.Substring(8), NumberStyles.HexNumber);
            DateTime year1900 = new DateTime(1900, 1, 1);
            DateTime date = year1900.AddDays(daysFrom1900).AddTicks(ticksFromMidnight*(10/3.0));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM