Format de la date ? [LDAP] - Windows & Software
Marsh Posté le 07-06-2006 à 13:05:19
personne ?
Marsh Posté le 07-06-2006 à 18:37:07
c'est effectivement la valeur en nanosecondes depuis le 1er Janvier 1601
par contre, une question bête, pourquoi ne pas utiliser le champs accountExpirationDate ?
Marsh Posté le 08-06-2006 à 09:13:38
Je n'ai pas cette valeur dans mon annuaire. Est-ce un champ de base AD ou est-ce un attribut que tu as rajouté dans ton annuaire LDAP?
Marsh Posté le 08-06-2006 à 13:53:01
autant pour moi j'ai confondu, c'est une méthode ADSI, donc pas utilisable via LDAP
Marsh Posté le 07-06-2006 à 10:42:31
Bonjour messieurs !
Etant en train de pondre une chtite moulinette pour recupérer des infos sous LDAP, je suis confronté au problème suivant :
Comment convertir ce format de date en format comprehensible ?
Merci d'avance messieurs.... !
EDIT : je viens de trouver ca, vous etes d'accord ?
LDAP Active Directory Last Logon (lastlogon).
This took me an entire day to work out. If you want to get the last logon date from an active directory account, you have to convert it from AD time stamp to unix time stamp.
Once you've got a unix time stamp, PHP can format it as a date.
Here is the code to do it:
$dateLargeInt=$info[$i]["lastlogon"][0]; // nano seconds (yes, nano seconds) since jan 1st 1601
$secsAfterADEpoch = $dateLargeInt / (10000000); // seconds since jan 1st 1601
$ADToUnixConvertor=((1970-1601) * 365.242190) * 86400; // unix epoch - AD epoch * number of tropical days * seconds in a day
$unixTsLastLogon=intval($secsAfterADEpoch-$ADToUnixConvertor); // unix Timestamp version of AD timestamp
$lastlogon=date("d-m-Y", $unixTsLastLogon); // formatted date
Message édité par pink floyd le 07-06-2006 à 11:06:28
---------------
Oui aux titres de topic clair et precis...