将十六进制值从 SQL 服务器转换为 C# 中的日期时间
Convert hex value from SQL Server to datetime in C#
我需要将 8 个字节从十六进制值转换为 C# 中的新日期时间。该功能应该与 SQL 服务器中的功能相同。
我将十六进制值作为字符串“0000AC0500000000”或字节列表:
["0", "0", "172", "5", "0", "0", "0", " 0 ",]
从中我需要获取日期“2020-07-27 00:00:00:000”。 SQL 服务器的转换工作完美,只需 8 个字节即可恢复到毫秒。如图convert function in 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));
我需要将 8 个字节从十六进制值转换为 C# 中的新日期时间。该功能应该与 SQL 服务器中的功能相同。
我将十六进制值作为字符串“0000AC0500000000”或字节列表:
["0", "0", "172", "5", "0", "0", "0", " 0 ",]
从中我需要获取日期“2020-07-27 00:00:00:000”。 SQL 服务器的转换工作完美,只需 8 个字节即可恢复到毫秒。如图convert function in 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));