Mam intranet działający na systemie Linux, który uwierzytelnia się z Active Directory na pudełku Windows, używając LDAP poprzez PHP.Konwertuj datownik Windows do tej pory za pomocą PHP na Linuksie Box
mogę odzyskać pozycję użytkownika z AD przy użyciu protokołu LDAP i dostęp ostatnią datę logowania z np tablicy PHP:
echo $adAccount['lastlogontimestamp'][0]; // returns something like 129802528752492619
Jeśli to był timestamp Unix chciałbym użyć następującego kodu PHP do konwersji na ludzka czytelna data:
date("d-m-Y H:i:s", $lastlogontimestamp);
To jednak nie działa. Czy ktoś wie, w jaki sposób mogę to osiągnąć, a nawet jeśli jest to możliwe z systemu Linux?
Mam inne przesunięcie z PHP: strtotime ("1601-01-01") - strtotime ("1970-01-01") = 11644470000. Jest to godzina (3600 sekund) różna od twojej, ale jako MSDN mówi, że do używania wartości pochodzącej z języka Java użyję twojej odpowiedzi. Dziękuję za pomoc i dziękuję Babie. – amburnside
Widziałem też 11644477200 (jak używał Baba). To co najmniej trzy różne wartości. Oczywiście różnica nie jest ogromna i może nie mieć znaczenia w niektórych kontekstach, ale dobrze jest wiedzieć, jaka powinna być wartość odejmowana, niezależnie od strefy czasowej. Idę do wartości '... 7360 ...' jako [widoczne w MSDN] (http://msdn.microsoft.com/en-us/library/ms724228). – Synetech
@Synetech Tak, cała rzecz na randce to krwawy bałagan. To zawsze zależy od tego, z którego systemu korzystasz. – brimborium