Dans le répertoire actif il y a un tas de champs int64 (comme lastlogintimestamp, accountexpires, etc.)Convert AD Horodatage à .Net DateTime
Comment convertir ces valeurs datetime en C#?
Dans le répertoire actif il y a un tas de champs int64 (comme lastlogintimestamp, accountexpires, etc.)Convert AD Horodatage à .Net DateTime
Comment convertir ces valeurs datetime en C#?
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.
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
Cela semble fonctionner. – Christopher
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
Où horodatage est la valeur INT64 de AD. Notez également qu'une valeur Int64 de 9223372036854775807 équivaut à null/no value. – Christopher