Improve naming utils
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 5 Oct 2017 13:49:17 +0000 (15:49 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 5 Oct 2017 13:49:17 +0000 (15:49 +0200)
org.argeo.enterprise/src/org/argeo/naming/NamingUtils.java

index 0b74ee18c4f4521ad4ceb48994594665fecbd9b6..64fd65faa470aea8721334f0defef883fe9bd7e3 100644 (file)
@@ -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");
+       }
 }