在VB.NET中将AD Date字符串值转换为DateTime

在VB.NET中将AD Date字符串值转换为DateTime,vb.net,Vb.net,我需要将从Active Directory检索到的日期值转换为可读的值 我知道可以使用外部windows System32应用程序: CMD->w32tm.exe/ntte 128271382742968750 148462 05:57:54.2968750-2007年6月24日上午6:57:54 我试过: Dim returnString as String = "128271382742968750" Dim dta As DateTime = TimeValue(returnString)

我需要将从Active Directory检索到的日期值转换为可读的值

我知道可以使用外部windows System32应用程序:

CMD->w32tm.exe/ntte 128271382742968750

148462 05:57:54.2968750-2007年6月24日上午6:57:54

我试过:

Dim returnString as String = "128271382742968750"
Dim dta As DateTime = TimeValue(returnString)
这引发了一个异常


欢迎任何建议

Active Directory将这些值存储为Windows文件时间,您可以使用以下方式转换:

结果:

6/24/2007 5:57:54 AM 2007年6月24日上午5:57:54 请看这里:


打开选项开关!什么是时间价值?还有,什么例外?这很有效。谢谢。我以前尝试过新的日期(返回字符串),但是返回一些垃圾,所以我认为AD的DATE时间值是一个不同的畜群。考虑只使用一个字长(<代码> Int64 < /COD>)值:<代码> DIM DTA作为DATETIME= DATETIME.FROFFITETIME(12827 13827 429 68 750L)< /代码>。您可能还需要考虑<代码> DATETIME。FromFileTimeUtc < /代码> 6/24/2007 5:57:54 AM