The DateTime value in .NET can also be represented as a 64-bit value. The strange format of the string in DateTime fields in SharePoint list items is a variant of such a 64-bit value encoded as two 32-bit hexadecimal values. In this format I did not find documentation from Microsoft. But by trial and error, I found the following conversion method:
string[] words = strVal.Split('|'); int high = int.Parse(words[0].Substring(2), System.Globalization.NumberStyles.HexNumber); uint low = uint.Parse(words[1].Substring(2), System.Globalization.NumberStyles.HexNumber); long ticks = high; ticks = ticks << 32; ticks += low; DateTime t = new DateTime(ticks); t = t.AddYears(1600);
where t has a result.
source share