Class ConvertDate


  • public class ConvertDate
    extends java.lang.Object
    Utility class for converting strings into Date objects, considering various global date formats. It handles different month and day names across languages, and supports timezone adjustments.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  ConvertDate.StringCmpNS
      Comparator for case-insensitive string comparison.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.util.TreeMap<java.lang.String,​java.lang.Integer> daysTable  
      static java.util.TimeZone defaultTimeZone
      Default TimeZone used for date conversions.
      (package private) static java.util.TreeMap<java.lang.String,​java.lang.Integer> monthsTable  
      (package private) static java.util.TreeMap<java.lang.String,​java.util.TimeZone> timeZoneMapping  
      private static java.util.HashSet<java.lang.String> voidData  
    • Constructor Summary

      Constructors 
      Constructor Description
      ConvertDate()
      default constructor
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      private static java.util.Date addHour​(java.util.StringTokenizer st, java.util.Calendar cal, java.lang.String s1)  
      private static java.util.Date addHour2​(java.util.StringTokenizer st, java.util.Calendar cal, java.lang.String s1)  
      static java.util.Date convertToDate​(java.lang.Object obj)
      try read a Date from a Object
      private static void fillMap​(java.util.TreeMap<java.lang.String,​java.lang.Integer> map, java.lang.String key, java.lang.Integer value)  
      private static java.util.Date getDDMMYYYY​(java.util.StringTokenizer st, java.lang.String s1)
      parse a date as DDMMYYYY
      private static java.util.Date getMMDDYYYY​(java.util.StringTokenizer st, java.lang.String s1)  
      static java.lang.Integer getMonth​(java.lang.String month)
      Retrieves the month's integer representation based on the provided month name.
      private static int getYear​(java.lang.String s1)  
      private static java.util.Date getYYYYMMDD​(java.util.StringTokenizer st, java.lang.String s1)  
      private static java.util.GregorianCalendar newCalandar()  
      private static java.lang.Integer parseMonth​(java.lang.String s1)  
      private static java.lang.String trySkip​(java.util.StringTokenizer st, java.lang.String s1, java.util.Calendar cal)
      Handle some Date Keyword like PST UTC am pm ...
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • monthsTable

        static java.util.TreeMap<java.lang.String,​java.lang.Integer> monthsTable
      • daysTable

        static java.util.TreeMap<java.lang.String,​java.lang.Integer> daysTable
      • voidData

        private static java.util.HashSet<java.lang.String> voidData
      • defaultTimeZone

        public static java.util.TimeZone defaultTimeZone
        Default TimeZone used for date conversions. Can be overwritten to change the default time zone.
      • timeZoneMapping

        static java.util.TreeMap<java.lang.String,​java.util.TimeZone> timeZoneMapping
    • Constructor Detail

      • ConvertDate

        public ConvertDate()
        default constructor
    • Method Detail

      • getMonth

        public static java.lang.Integer getMonth​(java.lang.String month)
        Retrieves the month's integer representation based on the provided month name.
        Parameters:
        month - the name of the month
        Returns:
        the integer value of the month, or null if the month name is unrecognized
      • parseMonth

        private static java.lang.Integer parseMonth​(java.lang.String s1)
      • newCalandar

        private static java.util.GregorianCalendar newCalandar()
        Returns:
        a current timezoned 01/01/2000 00:00:00 GregorianCalendar
      • fillMap

        private static void fillMap​(java.util.TreeMap<java.lang.String,​java.lang.Integer> map,
                                    java.lang.String key,
                                    java.lang.Integer value)
      • convertToDate

        public static java.util.Date convertToDate​(java.lang.Object obj)
        try read a Date from a Object
        Parameters:
        obj - object to convert to date
        Returns:
        a date value
      • getYYYYMMDD

        private static java.util.Date getYYYYMMDD​(java.util.StringTokenizer st,
                                                  java.lang.String s1)
        Parameters:
        st - StringTokenizer
        s1 - previous token
        Returns:
        a Date
      • getYear

        private static int getYear​(java.lang.String s1)
        Parameters:
        s1 - 2 years date
        Returns:
        a 1900 or 2000 year
      • getMMDDYYYY

        private static java.util.Date getMMDDYYYY​(java.util.StringTokenizer st,
                                                  java.lang.String s1)
        Parameters:
        st - StringTokenizer
        s1 - privious token
        Returns:
        a date
      • getDDMMYYYY

        private static java.util.Date getDDMMYYYY​(java.util.StringTokenizer st,
                                                  java.lang.String s1)
        parse a date as DDMMYYYY
        Parameters:
        st - StringTokenizer
        s1 - previous token
        Returns:
        a Date
      • addHour

        private static java.util.Date addHour​(java.util.StringTokenizer st,
                                              java.util.Calendar cal,
                                              java.lang.String s1)
        Parameters:
        st - StringTokenizer
        cal - Calendar
        s1 - previous token
        Returns:
        a Date
      • addHour2

        private static java.util.Date addHour2​(java.util.StringTokenizer st,
                                               java.util.Calendar cal,
                                               java.lang.String s1)
        Parameters:
        st - StringTokenizer
        cal - Calendar
        s1 - previous token
        Returns:
        a Date
      • trySkip

        private static java.lang.String trySkip​(java.util.StringTokenizer st,
                                                java.lang.String s1,
                                                java.util.Calendar cal)
        Handle some Date Keyword like PST UTC am pm ...
        Parameters:
        st - StringTokenizer
        s1 - previous token
        cal - Calendar
        Returns:
        a date