Class DateConverter

java.lang.Object
org.apache.pdfbox.util.DateConverter

public final class DateConverter extends Object
Converts dates to strings and back using the PDF date standard in section 3.8.2 of PDF Reference 1.7.
  • Field Details

  • Constructor Details

    • DateConverter

      private DateConverter()
  • Method Details

    • toString

      public static String toString(Calendar cal)
      Converts a Calendar to a string formatted as: D:yyyyMMddHHmmss#hh'mm' where # is Z, +, or -.
      Parameters:
      cal - The date to convert to a string. May be null. The DST_OFFSET is included when computing the output time zone.
      Returns:
      The date as a String to be used in a PDF document, or null if the cal value is null
    • toISO8601

      public static String toISO8601(Calendar cal)
      Converts the date to ISO 8601 string format: yyyy-mm-ddThh:MM:ss#hh:mm (where '#" is '+' or '-').
      Parameters:
      cal - The date to convert. Must not be null. The DST_OFFSET is included in the output value.
      Returns:
      The date represented as an ISO 8601 string.
    • restrainTZoffset

      private static int restrainTZoffset(long proposedOffset)
    • formatTZoffset

      static String formatTZoffset(long millis, String sep)
    • parseTimeField

      private static int parseTimeField(String text, ParsePosition where, int maxlen, int remedy)
    • skipOptionals

      private static char skipOptionals(String text, ParsePosition where, String optionals)
    • skipString

      private static boolean skipString(String text, String victim, ParsePosition where)
    • newGreg

      static GregorianCalendar newGreg()
    • adjustTimeZoneNicely

      private static void adjustTimeZoneNicely(GregorianCalendar cal, TimeZone tz)
    • parseTZoffset

      static boolean parseTZoffset(String text, GregorianCalendar cal, ParsePosition initialWhere)
    • updateZoneId

      private static void updateZoneId(TimeZone tz)
      Update the zone ID based on the raw offset. This is either GMT, GMT+hh:mm or GMT-hh:mm, where n is between 1 and 14. The highest negative hour is -14, the highest positive hour is 12. Zones that don't fit in this schema are set to zone ID "unknown".
      Parameters:
      tz - the time zone to update.
    • parseBigEndianDate

      private static GregorianCalendar parseBigEndianDate(String text, ParsePosition initialWhere)
    • parseSimpleDate

      private static GregorianCalendar parseSimpleDate(String text, String[] fmts, ParsePosition initialWhere)
    • parseDate

      private static Calendar parseDate(String text, ParsePosition initialWhere)
    • toCalendar

      public static Calendar toCalendar(COSString text)
      Returns the Calendar for a given COS string containing a date, or null if it cannot be parsed. The returned value will have 0 for DST_OFFSET.
      Parameters:
      text - A COS string containing a date.
      Returns:
      The Calendar that the text string represents, or null if it cannot be parsed.
    • toCalendar

      public static Calendar toCalendar(String text)
      Returns the Calendar for a given string containing a date, or null if it cannot be parsed. The returned value will have 0 for DST_OFFSET.
      Parameters:
      text - A COS string containing a date.
      Returns:
      The Calendar that the text string represents, or null if it cannot be parsed.