[英]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.