DATE
प्रकार को आंतरिक रूप से 3-बाइट पूर्णांक के रूप में संग्रहीत किया जाता है, जो 1 जनवरी 0001 से दिनों की संख्या का प्रतिनिधित्व करता है।
आपके पास जो हेक्स मान है वह छोटे-एंडियन प्रारूप में है, इसलिए आपको इसे C# DateTime
में उपयोग करने से पहले इसे बड़े-एंडियन में फ़्लिप करना होगा गणना:
string hexString = "38320B00";
// convert the first 6 characters to bytes and combine them into an int
// we can ignore the final two characters because the DATE type is a
// 3-byte integer - the most-significant-byte should always be zero
int days = byte.Parse(hexString.Substring(0, 2), NumberStyles.HexNumber)
| byte.Parse(hexString.Substring(2, 2), NumberStyles.HexNumber) << 8
| byte.Parse(hexString.Substring(4, 2), NumberStyles.HexNumber) << 16;
DateTime dt = new DateTime(1, 1, 1).AddDays(days);
Console.WriteLine(dt); // 12/12/2009 00:00:00