Class ISO8601

java.lang.Object
com.saperion.util.ISO8601

public final class ISO8601 extends Object
The ISO8601 utility class provides helper methods to deal with date/time formatting using a specific ISO8601-compliant format (see ISO 8601).

The currently supported format is:

   ±YYYY-MM-DDThh:mm:ss.SSSTZD
 
where:
   ±YYYY = four-digit year with optional sign where values <= 0 are
           denoting years BCE and values > 0 are denoting years CE,
           e.g. -0001 denotes the year 2 BCE, 0000 denotes the year 1 BCE,
           0001 denotes the year 1 CE, and so on...
   MM    = two-digit month (01=January, etc.)
   DD    = two-digit day of month (01 through 31)
   hh    = two digits of hour (00 through 23) (am/pm NOT allowed)
   mm    = two digits of minute (00 through 59)
   ss    = two digits of second (00 through 59)
   SSS   = three digits of milliseconds (000 through 999)
   TZD   = time zone designator, Z for Zulu (i.e. UTC) or an offset from UTC
           in the form of +hh:mm or -hh:mm
 
  • Method Details

    • parse

      public static Calendar parse(String text)
      Parses an ISO8601-compliant date/time string.
      Parameters:
      text - the date/time string to be parsed
      Returns:
      a Calendar, or null if the input could not be parsed
    • format

      public static String format(Calendar cal)
      Formats a Calendar value into an ISO8601-compliant date/time string.
      Parameters:
      cal - the time value to be formatted into a date/time string.
      Returns:
      the formatted date/time string.