LDAP API java.time(Java 8).
, - ( , :)
import java.time.*;
public class LdapTimestampUtil {
public static final ZonedDateTime LDAP_MIN_DATE_TIME = ZonedDateTime.of(1601, 1, 1, 0, 0, 0, 0, ZoneId.of("UTC"));
public static long instantToLdapTimestamp(Instant instant) {
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instant, ZoneOffset.UTC);
return zonedDateToLdapTimestamp(zonedDateTime);
}
public static long localDateToLdapTimestamp(LocalDateTime dateTime) {
ZonedDateTime zonedDateTime = dateTime.atZone(ZoneId.systemDefault());
return zonedDateToLdapTimestamp(zonedDateTime);
}
public static long zonedDateToLdapTimestamp(ZonedDateTime zonedDatetime) {
Duration duration = Duration.between(LDAP_MIN_DATE_TIME, zonedDatetime);
return millisecondsToLdapTimestamp(duration.toMillis());
}
private static long millisecondsToLdapTimestamp(long millis) {
return millis * 1000 * 10;
}
}
GitHub:
https://github.com/PolishAirports/ldap-utils