Konwersja long z AccountExpires (LDAP) do JAVY

0

Cześć,

Pomoże mi ktoś, dostaje z LDAPA long opisaną przez dostawce jako:

This value represents the number of 100-nanosecond intervals since January 1, 1601 (UTC). A value of 0 or 0x7FFFFFFFFFFFFFFF (9223372036854775807) indicates that the account never expires.

Ma ktoś pomysł jak to przekonwertować do daty?

0

Wyliczasz przy pomocy np. Calendar wartość tej dziwnej daty w ms od epocha. Coś w stylu:

Calendar d0 = Calendar.getInstance();
d0.set(1601, 1, 1);
long offset = d.getTimeInMillis();

Potem bierzesz tę wartość z LDAPa, dzielisz chyba przez 10000, żeby otrzymać milisekundy i pobierasz, np. jako Calendar.

Calendar d = Calendar.getInstance();
d.setTimeInMillis(x / 10000 + offset);

1 użytkowników online, w tym zalogowanych: 0, gości: 1