【发布时间】:2009-09-07 11:58:52
【问题描述】:
SQL Server Management Studio 将数据类型“Date”的值生成为以下字符串: CAST(0x38320B00 作为日期)。
我需要将其转换为经典的 .NET 日期时间(我在 c# 应用程序中有字符串)。我知道,如果它是 SQL Server DateTime,它将是十六进制数的 2 倍,第一部分将指定从 1.1.1900 开始的天数,第二部分将指定从中午开始的 1/300 秒数。
我认为分别在 SQL Server Date 数据类型中,这只是 DateTime 的第一部分(省略时间部分),但事实并非如此。当我尝试跟随 sn-p 时,我得到了异常:
Int32 high = Int32.Parse("38320B00", NumberStyles.HexNumber);
DateTime start = new DateTime(1900, 1, 1);
start = start.AddDays(high);
那么这个数字说明了什么?
【问题讨论】:
标签: c# .net sql-server-2008 hex