Class JodaConvert


  • public abstract class JodaConvert
    extends java.lang.Object
    Utility class supplying static methods for Joda date/time conversions. The actual serializer/deserializer methods are all public so that they'll be included in JavaDocs; support methods are protected, so that they'll be exposed for user classes extending this class.
    Author:
    Dennis M. Sosnoski
    • Constructor Summary

      Constructors 
      Constructor Description
      JodaConvert()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      protected static DateMidnight deserializeDateMidnight​(java.lang.String text, DateTimeZone zone)
      Deserialize date value as a midnight date in the specified time zone.
      static LocalDate deserializeLocalDate​(java.lang.String text)
      Deserialize date value from text as local date without time zone.
      static DateMidnight deserializeLocalDateMidnight​(java.lang.String text)
      Deserialize date value from text as midnight date in default (local) time zone.
      static DateTime deserializeLocalDateTime​(java.lang.String text)
      Deserialize date/time value from text into the local (default) time zone.
      static LocalTime deserializeLocalTime​(java.lang.String text)
      Deserialize time value from text as local time.
      static DateTime deserializeStrictLocalDateTime​(java.lang.String text)
      Deserialize local (default zone) date/time value from text with time zone required.
      static DateTime deserializeStrictUTCDateTime​(java.lang.String text)
      Deserialize UTC date/time value from text with time zone required.
      static DateMidnight deserializeUTCDateMidnight​(java.lang.String text)
      Deserialize date value from text as midnight date in UTC time zone.
      static DateTime deserializeUTCDateTime​(java.lang.String text)
      Deserialize UTC date/time value from text into the UTC time zone.
      static DateMidnight deserializeZonedDateMidnight​(java.lang.String text)
      Deserialize date value from text as midnight date in specified (or default) time zone.
      static DateTime deserializeZonedDateTime​(java.lang.String text)
      Deserialize date/time value from text in specified (or default) time zone.
      protected static DateTimeZone findZone​(java.lang.String text, DateTimeZone dflt)
      Find the date/time zone for an xs:date or xs:dateTime text representation.
      protected static DateTime parseDateTime​(java.lang.String text, boolean full, DateTimeZone zone)
      Parse date/time value from text.
      static java.lang.String serializeLocalDate​(LocalDate date)
      Serialize local date value to general date text without time zone.
      static java.lang.String serializeUnzonedDateMidnight​(DateMidnight date)
      Serialize midnight date value to general date text without time zone.
      static java.lang.String serializeUnzonedLocalTime​(LocalTime time)
      Serialize local time value to general date text without time zone.
      static java.lang.String serializeUTCDateMidnight​(DateMidnight date)
      Serialize midnight date value to general date text with UTC time zone.
      static java.lang.String serializeUTCDateTime​(DateTime time)
      Serialize date/time to general dateTime text.
      static java.lang.String serializeUTCLocalTime​(LocalTime time)
      Serialize local time value to general date text with UTC time zone.
      static java.lang.String serializeZonedDateMidnight​(DateMidnight date)
      Serialize midnight date value to general date text with time zone offset.
      static java.lang.String serializeZonedDateTime​(DateTime time)
      Serialize date/time to general dateTime text.
      • Methods inherited from class java.lang.Object

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

      • JodaConvert

        public JodaConvert()
    • Method Detail

      • deserializeLocalDate

        public static LocalDate deserializeLocalDate​(java.lang.String text)
                                              throws JiBXException
        Deserialize date value from text as local date without time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • serializeLocalDate

        public static java.lang.String serializeLocalDate​(LocalDate date)
        Serialize local date value to general date text without time zone. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary.
        Parameters:
        date - date to be converted
        Returns:
        converted date text
      • deserializeDateMidnight

        protected static DateMidnight deserializeDateMidnight​(java.lang.String text,
                                                              DateTimeZone zone)
                                                       throws JiBXException
        Deserialize date value as a midnight date in the specified time zone.
        Parameters:
        text -
        zone -
        Returns:
        date
        Throws:
        JiBXException
      • findZone

        protected static DateTimeZone findZone​(java.lang.String text,
                                               DateTimeZone dflt)
                                        throws JiBXException
        Find the date/time zone for an xs:date or xs:dateTime text representation.
        Parameters:
        text - xs:date or xs:dateTime value
        dflt - default zone to be returned if no zone specified
        Returns:
        zone
        Throws:
        JiBXException
      • deserializeZonedDateMidnight

        public static DateMidnight deserializeZonedDateMidnight​(java.lang.String text)
                                                         throws JiBXException
        Deserialize date value from text as midnight date in specified (or default) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone. If the time zone indication is included a zone matching the offset is used for the date; otherwise the default time zone is used. This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeLocalDateMidnight

        public static DateMidnight deserializeLocalDateMidnight​(java.lang.String text)
                                                         throws JiBXException
        Deserialize date value from text as midnight date in default (local) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeUTCDateMidnight

        public static DateMidnight deserializeUTCDateMidnight​(java.lang.String text)
                                                       throws JiBXException
        Deserialize date value from text as midnight date in UTC time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign and trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • serializeUnzonedDateMidnight

        public static java.lang.String serializeUnzonedDateMidnight​(DateMidnight date)
        Serialize midnight date value to general date text without time zone. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary.
        Parameters:
        date - date to be converted
        Returns:
        converted date text
      • serializeZonedDateMidnight

        public static java.lang.String serializeZonedDateMidnight​(DateMidnight date)
        Serialize midnight date value to general date text with time zone offset. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DD, with optional leading sign included if necessary and trailing time zone offset.
        Parameters:
        date - date to be converted
        Returns:
        converted date text
      • serializeUTCDateMidnight

        public static java.lang.String serializeUTCDateMidnight​(DateMidnight date)
        Serialize midnight date value to general date text with UTC time zone. Date values are formatted in W3C XML Schema standard format as CCYY-MM-DDZ, with optional leading sign included if necessary.
        Parameters:
        date - date to be converted
        Returns:
        converted date text
      • deserializeLocalTime

        public static LocalTime deserializeLocalTime​(java.lang.String text)
                                              throws JiBXException
        Deserialize time value from text as local time. Time values are expected to match W3C XML Schema standard format as hh:mm:ss.fff, with optional trailing time zone (with the time zone ignored in this case). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • serializeUnzonedLocalTime

        public static java.lang.String serializeUnzonedLocalTime​(LocalTime time)
        Serialize local time value to general date text without time zone. Time values are formatted in W3C XML Schema standard format as hh:mm:ss.fff.
        Parameters:
        time - time to be converted
        Returns:
        converted time text
      • serializeUTCLocalTime

        public static java.lang.String serializeUTCLocalTime​(LocalTime time)
        Serialize local time value to general date text with UTC time zone. Time values are formatted in W3C XML Schema standard format as hh:mm:ss.fffZ, with optional leading sign included if necessary.
        Parameters:
        time - time to be converted
        Returns:
        converted time text
      • parseDateTime

        protected static DateTime parseDateTime​(java.lang.String text,
                                                boolean full,
                                                DateTimeZone zone)
                                         throws JiBXException
        Parse date/time value from text. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to the target time zone). If the time zone is absent and not required the target time zone is assumed.
        Parameters:
        text -
        full - zoned time required flag (exception thrown if missing)
        zone - time zone used for returned date/time
        Returns:
        converted date/time
        Throws:
        JiBXException
      • deserializeZonedDateTime

        public static DateTime deserializeZonedDateTime​(java.lang.String text)
                                                 throws JiBXException
        Deserialize date/time value from text in specified (or default) time zone. Date/time values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone. If the time zone indication is included a zone matching the offset is used for the date; otherwise the default time zone is used. This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeUTCDateTime

        public static DateTime deserializeUTCDateTime​(java.lang.String text)
                                               throws JiBXException
        Deserialize UTC date/time value from text into the UTC time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to UTC, and UTC assumed if no time zone is specified). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeLocalDateTime

        public static DateTime deserializeLocalDateTime​(java.lang.String text)
                                                 throws JiBXException
        Deserialize date/time value from text into the local (default) time zone. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign and trailing time zone (with the time zone used to convert the value to the local time zone, and the local time zone assumed if no time zone is specified). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeStrictUTCDateTime

        public static DateTime deserializeStrictUTCDateTime​(java.lang.String text)
                                                     throws JiBXException
        Deserialize UTC date/time value from text with time zone required. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign but required trailing time zone (with the time zone used to convert the value to UTC). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • deserializeStrictLocalDateTime

        public static DateTime deserializeStrictLocalDateTime​(java.lang.String text)
                                                       throws JiBXException
        Deserialize local (default zone) date/time value from text with time zone required. Date values are expected to match W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign but required trailing time zone (with the time zone used to convert the value to the local time zone). This method follows standard JiBX deserializer usage requirements by accepting a null input.
        Parameters:
        text - text to be parsed (may be null)
        Returns:
        converted date, or null if passed null input
        Throws:
        JiBXException - on parse error
      • serializeZonedDateTime

        public static java.lang.String serializeZonedDateTime​(DateTime time)
        Serialize date/time to general dateTime text. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign included if necessary. Time zone information is always included in the output, with the value determined by the zone used for the date/time.
        Parameters:
        time - date/time to be converted
        Returns:
        converted date/time text
      • serializeUTCDateTime

        public static java.lang.String serializeUTCDateTime​(DateTime time)
        Serialize date/time to general dateTime text. Date/time values are formatted in W3C XML Schema standard format as CCYY-MM-DDThh:mm:ss.fff, with optional leading sign included if necessary. Time zone information is always included in the output, as 'Z' to indicate UTC.
        Parameters:
        time - date/time to be converted
        Returns:
        converted date/time text