Linuxボックスでイントラネットを実行しています。これはWindowsボックスでActive Directoryに対して認証し、PHPからLDAPを使用します。私は、LDAPを使用してADからユーザーのエントリを検索し、PHPの配列などから、最後にログインした日時にアクセスすることができますLinuxボックスでPHPを使用してWindowsタイムスタンプに変換する
:
echo $adAccount['lastlogontimestamp'][0]; // returns something like 129802528752492619
これはUnixタイムスタンプだった場合、私はに変換するには、次のPHPコードを使用します人間が判読可能な日付:
date("d-m-Y H:i:s", $lastlogontimestamp);
ただし、これは機能しません。誰もがこれを達成する方法を知っていますか、Linuxボックスからそうすることが可能かどうかは本当ですか?窓以来
strtotime( "1601-01-01") - strtotime( "1970-01-01")= 11644470000。これはあなたとは異なる1時間(3600秒)ですが、 MSDNはあなたのJava派生値を使用するように言いますあなたの答えを使用します。ご協力いただきありがとうございます。馬場にありがとうございます。 – amburnside
私は11644477200(馬場が使用したとき)も見たことがあります。それは少なくとも3つの異なる値です。確かに、違いは巨大ではなく、状況によっては問題にならないかもしれませんが、差し引くべき正しい値がタイムゾーンに関係なくあるべきであることを知っておくと良いでしょう。私は '[MSDNで見たように]' ... 7360 ... 'の値を使うつもりです(http://msdn.microsoft.com/en-us/library/ms724228)。 – Synetech
@Synetechええ、全体の日付ものは血まみれの混乱です。それは常に使用しているシステムによって異なります。 – brimborium