2009-10-06 10 views

Répondre

5

http://securitythroughabsurdity.com/2005/12/active-directory-and.html

Qu'est-ce qui dit, est la fonction correcte est DateTime.FromFileTime, qui retourne un objet DateTime, qui est exactement ce dont vous avez besoin.

+0

Cela semble fonctionner. – Christopher

+0

Pour l'enregistrement, il en est de même: DateTime root = new DateTime (1601, 1, 1); DateTime utc = root.AddTicks (horodatage); DateTime local = utc.ToLocalTime(); retour local; – Christopher

+1

Où horodatage est la valeur INT64 de AD. Notez également qu'une valeur Int64 de 9223372036854775807 équivaut à null/no value. – Christopher

1

L'exemple de travail ci-dessous montre comment le faire dans PowerShell en utilisant .NET, qui illustre aussi la façon dont vous le feriez en C#:

$timestamp=129699324000000000 
[System.DateTime]::FromFileTime($timestamp) 

Monday, January 02, 2012 12:00:00 AM