X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fnaming%2FNamingUtils.java;h=0b74ee18c4f4521ad4ceb48994594665fecbd9b6;hb=9c1e0062044a1dcf34d34c7cda840334e56a289c;hp=fc505022fee0f6ac646dd5f215f4fe8f16a7d5ca;hpb=d2057396fab26e7b94e9d479d8429e0ed2487067;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java b/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java index fc505022f..0b74ee18c 100644 --- a/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java +++ b/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java @@ -4,7 +4,10 @@ import java.io.UnsupportedEncodingException; 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; @@ -12,11 +15,15 @@ import java.util.List; 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> query, String key) { @@ -59,4 +66,11 @@ public class NamingUtils { 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); +// } }