X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.enterprise%2Fsrc%2Forg%2Fargeo%2Fnaming%2FNamingUtils.java;h=5a868ddb42b885afbad49925c247407ff3907182;hb=08490f85954fc85940d1182c12a825b33491c3ba;hp=cb93e825786d56f3c90edc20f7759743cb793d13;hpb=24fae6254c74806416ee21cb6a73388d5e958b29;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();