In guardando una struct DateTime nel debugger via Sos.dll, vedo ...Interpretazione di date date UInt64 nella struttura .NET DateTime?
0:096> !DumpVC 000007feed1ddff8 000000028036d890
Name: System.DateTime
MethodTable: 000007feed1ddff8
EEClass: 000007feecbed6b0
Size: 24(0x18) bytes
File: C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib. dll
Fields:
MT Field Offset Type VT Attr Value Name
000007feed1e1158 40000d6 0 System.UInt64 1 instance 5246421159766325152 dateData
Come può interpretare "5246421159766325152" come DateTime? C'è un modo per creare un DateTime da questo valore per ottenere la versione leggibile?
Faccio questo così spesso io uso un one-liner PowerShell per ottenere una risposta rapida: '[System.DateTime] :: FromBinary (5246421159766325152)' –
Si noti che il valore DateTime è un UInt64 (ulong). 'DateTime.FromBinary' prende un Int64 (lungo). Ciò significa che puoi ottenere un valore che non funziona direttamente con DateTime.FromBinary. Ho visto questo valore in una discarica: 9859146799984130527 –