X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fnaming%2FNamingUtils.java;h=5a868ddb42b885afbad49925c247407ff3907182;hb=f9efbe5228615951dd8482a4582aa24e00c10ce5;hp=cb93e825786d56f3c90edc20f7759743cb793d13;hpb=31a792d4965a3590b260e32e1dc7b934ec5e7159;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 cb93e8257..5a868ddb4 100644 --- a/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java +++ b/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java @@ -19,6 +19,7 @@ import java.util.List; import java.util.Map; public class NamingUtils { + /** As per https://tools.ietf.org/html/rfc4517#section-3.3.13 */ private final static DateTimeFormatter utcLdapDate = DateTimeFormatter.ofPattern("uuuuMMddHHmmssX") .withZone(ZoneOffset.UTC); @@ -31,6 +32,15 @@ public class NamingUtils { } } + /** @return null if not parseable */ + public static ZonedDateTime ldapDateToZonedDateTime(String ldapDate) { + try { + return OffsetDateTime.parse(ldapDate, utcLdapDate).toZonedDateTime(); + } catch (DateTimeParseException e) { + return null; + } + } + public static Calendar ldapDateToCalendar(String ldapDate) { OffsetDateTime instant = OffsetDateTime.parse(ldapDate, utcLdapDate); GregorianCalendar calendar = new GregorianCalendar();