Libre Office の LDAP タイムスタンプを日付時刻形式に変換するにはどうすればいいですか

Libre Office の LDAP タイムスタンプを日付時刻形式に変換するにはどうすればいいですか

ディレクトリを照会すると、次の結果が得られます。

ldapsearch2.4 -x -b "dc=localhost,dc=com" "cn=auser" "+" | grep スタンプ
createTimestamp: 20100407122221Z
modifyTimestamp: 20100407122221Z
createTimestamp: 20100407122436Z
modifyTimestamp: 20111229151358Z

ユーザー リストの監査を実行できるように、ディレクトリをスプレッドシートに取り込んでいます。現在の日付スタンプをスプレッドシートで理解できる日付時刻オブジェクトに変換するのは簡単ではありません。

これにより、実際の日付がどのように保存されるかを理解できましたが、それを変換する方法がまだ必要です。 http://www.novell.com/coolsolutions/qna/6668.html

グリニッジ標準時 (GMT) が次の形式で返されます: yyyymmddhhmmssZ

答え1

A2に次の値がある場合

20100407122436Z

数式を使用して、Libre Office が理解できる日付/時刻オブジェクトに変換できます。

=DATE(MID(A2,1,4),MID(A2,5,2),MID(A2,7,2)) + TIME(MID(A2,9,2),MID(A2,11,2),MID(A2,13,2))

保存されているのはリブレオフィスエポック浮動小数点数

40275.5170833333

結果に日付の書式を設定すると、次のように表示されます。

2010/04/07 12:24:36

ディレクトリ内に異なるタイムゾーンのユーザーがいないため、タイムゾーン情報は使用していません。次の式を使用してタイムゾーンを取得できます。

=右(A2,1)

これで、LDAP から取得したすべてのユーザー情報を日付順に並べ替えることができます。

関連情報