From: Mathieu Baudier Date: Thu, 5 Oct 2017 13:49:17 +0000 (+0200) Subject: Improve naming utils X-Git-Tag: argeo-commons-2.1.70~47 X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=0a91fbf74e55efcd33b7b225690b9807b791219a;p=lgpl%2Fargeo-commons.git Improve naming utils --- diff --git a/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java b/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java index 0b74ee18c..64fd65faa 100644 --- a/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java +++ b/org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java @@ -9,6 +9,9 @@ import java.time.OffsetDateTime; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoField; +import java.util.Calendar; +import java.util.GregorianCalendar; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; @@ -22,6 +25,15 @@ public class NamingUtils { return OffsetDateTime.parse(ldapDate, utcLdapDate).toInstant(); } + public static Calendar ldapDateToCalendar(String ldapDate) { + OffsetDateTime instant = OffsetDateTime.parse(ldapDate, utcLdapDate); + GregorianCalendar calendar = new GregorianCalendar(); + calendar.set(calendar.DAY_OF_MONTH, instant.get(ChronoField.DAY_OF_MONTH)); + calendar.set(calendar.MONTH, instant.get(ChronoField.MONTH_OF_YEAR)); + calendar.set(calendar.YEAR, instant.get(ChronoField.YEAR)); + return calendar; + } + public static String instantToLdapDate(ZonedDateTime instant) { return utcLdapDate.format(instant.withZoneSameInstant(ZoneOffset.UTC)); } @@ -67,10 +79,11 @@ public class 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); -// } + 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); + utcLdapDate.parse("19520512000000Z"); + } }