将 T01D163DE49AED860 转换为日期时间?
Convert T01D163DE49AED860 to a datetime?
在注册表的 Word MRU 列表中,日期时间似乎存储为 T01D163DE49AED860
。
知道如何将其转换为日期时间吗?
这是一个十六进制注册表值。密钥位于此处:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\Status
Dim regTime As Long = CLng(Registry.LocalMachine.OpenSubKey( _
"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\Status").GetValue( _
"LastSuccess"))
Dim dt As DateTime = DateTime.FromFileTimeUtc(regTime)
Me.Text = dt.ToLocalTime.ToString
我假设你已经读过 T01D163DE49AED860
作为 string
和 Registry.GetValue
method 之类的东西,看起来第一个 T
字符指向这是一个时间值并且其余部分是十六进制值,您可以先将其解析为 long
。
删除字符串的第一个 T
字符,用 AllowHexSpecifier
style and use FromFileTimeUtc
method 将其解析为 long
以获得 DateTime
.
var s = "T01D163DE49AED860";
s = s.Remove(0, 1);
long long1 = long.Parse(s, NumberStyles.AllowHexSpecifier);
var dt = DateTime.FromFileTimeUtc(long1);
但是这个 returns 10.02.2016 08:37:34
,如果你现在的时区是 UTC +01:00
,你可以使用 ToLocalTime
得到 10.02.2016 09:37:34
like;
var dt = DateTime.FromFileTimeUtc(long1).ToLocalTime();
在注册表的 Word MRU 列表中,日期时间似乎存储为 T01D163DE49AED860
。
知道如何将其转换为日期时间吗?
这是一个十六进制注册表值。密钥位于此处:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\Status
Dim regTime As Long = CLng(Registry.LocalMachine.OpenSubKey( _
"SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup\Status").GetValue( _
"LastSuccess"))
Dim dt As DateTime = DateTime.FromFileTimeUtc(regTime)
Me.Text = dt.ToLocalTime.ToString
我假设你已经读过 T01D163DE49AED860
作为 string
和 Registry.GetValue
method 之类的东西,看起来第一个 T
字符指向这是一个时间值并且其余部分是十六进制值,您可以先将其解析为 long
。
删除字符串的第一个 T
字符,用 AllowHexSpecifier
style and use FromFileTimeUtc
method 将其解析为 long
以获得 DateTime
.
var s = "T01D163DE49AED860";
s = s.Remove(0, 1);
long long1 = long.Parse(s, NumberStyles.AllowHexSpecifier);
var dt = DateTime.FromFileTimeUtc(long1);
但是这个 returns 10.02.2016 08:37:34
,如果你现在的时区是 UTC +01:00
,你可以使用 ToLocalTime
得到 10.02.2016 09:37:34
like;
var dt = DateTime.FromFileTimeUtc(long1).ToLocalTime();