import java.net.URI;
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
+import java.time.Instant;
import java.time.OffsetDateTime;
+import java.time.ZoneOffset;
+import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Map;
public class NamingUtils {
- private final static DateTimeFormatter ldapDateTimeFormatter = DateTimeFormatter
- .ofPattern("uuuuMMddHHmmss[,S][.S]X");
+ private final static DateTimeFormatter utcLdapDate = DateTimeFormatter.ofPattern("uuuuMMddHHmmssX")
+ .withZone(ZoneOffset.UTC);
- public static OffsetDateTime ldapDateToInstant(String ldapDate) {
- return OffsetDateTime.parse(ldapDate, ldapDateTimeFormatter);
+ public static Instant ldapDateToInstant(String ldapDate) {
+ return OffsetDateTime.parse(ldapDate, utcLdapDate).toInstant();
+ }
+
+ public static String instantToLdapDate(ZonedDateTime instant) {
+ return utcLdapDate.format(instant.withZoneSameInstant(ZoneOffset.UTC));
}
public static String getQueryValue(Map<String, List<String>> query, String key) {
private NamingUtils() {
}
+
+// public static void main(String args[]) {
+// ZonedDateTime now = ZonedDateTime.now().withZoneSameInstant(ZoneOffset.UTC);
+// String str = utcLdapDate.format(now);
+// System.out.println(str);
+// utcLdapDate.parse(str);
+// }
}