iText 7 7.1.8 API
iText.Kernel.XMP.Impl.ISO8601Converter Class Reference

Converts between ISO 8601 Strings and More...

Static Public Member Functions

static XMPDateTime  Parse (String iso8601String)
  Converts an ISO 8601 string to an XMPDateTime. More...
 
static XMPDateTime  Parse (String iso8601String, XMPDateTime binValue)
 
static String  Render (XMPDateTime dateTime)
  Converts a XMPDateTime into an ISO 8601 string. More...
 

Detailed Description

Converts between ISO 8601 Strings and

Calendar with millisecond resolution.

16.02.2006

Member Function Documentation

◆ Parse() [1/2]

static XMPDateTime iText.Kernel.XMP.Impl.ISO8601Converter.Parse ( String  iso8601String )
inlinestatic

Converts an ISO 8601 string to an XMPDateTime.

Converts an ISO 8601 string to an XMPDateTime. Parse a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime:

  • YYYY
  • YYYY-MM
  • YYYY-MM-DD
  • YYYY-MM-DDThh:mmTZD
  • YYYY-MM-DDThh:mm:ssTZD
  • YYYY-MM-DDThh:mm:ss.sTZD

Data fields:

  • YYYY = four-digit year
  • MM = two-digit month (01=January, etc.)
  • DD = two-digit day of month (01 through 31)
  • hh = two digits of hour (00 through 23)
  • mm = two digits of minute (00 through 59)
  • ss = two digits of second (00 through 59)
  • s = one or more digits representing a decimal fraction of a second
  • TZD = time zone designator (Z or +hh:mm or -hh:mm)

Note that ISO 8601 does not seem to allow years less than 1000 or greater than 9999. We allow any year, even negative ones. The year is formatted as "%.4d".

Note: Tolerate missing TZD, assume is UTC. Photoshop 8 writes dates like this for exif:GPSTimeStamp.
Note: DOES NOT APPLY ANYMORE. Tolerate missing date portion, in case someone foolishly writes a time-only value that way.

Parameters
iso8601String a date string that is ISO 8601 conform.
Returns
Returns a XMPDateTime.
Exceptions
iText.Kernel.XMP.XMPException Is thrown when the string is non-conform.

◆ Parse() [2/2]

static XMPDateTime iText.Kernel.XMP.Impl.ISO8601Converter.Parse ( String  iso8601String,
XMPDateTime  binValue 
)
inlinestatic
Parameters
iso8601String a date string that is ISO 8601 conform.
binValue an existing XMPDateTime to set with the parsed date
Returns
Returns an XMPDateTime-object containing the ISO8601-date.
Exceptions
iText.Kernel.XMP.XMPException Is thrown when the string is non-conform.

◆ Render()

static String iText.Kernel.XMP.Impl.ISO8601Converter.Render ( XMPDateTime  dateTime )
inlinestatic

Converts a XMPDateTime into an ISO 8601 string.

Converts a XMPDateTime into an ISO 8601 string. Format a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime:

  • YYYY
  • YYYY-MM
  • YYYY-MM-DD
  • YYYY-MM-DDThh:mmTZD
  • YYYY-MM-DDThh:mm:ssTZD
  • YYYY-MM-DDThh:mm:ss.sTZD

Data fields:

  • YYYY = four-digit year
  • MM = two-digit month (01=January, etc.)
  • DD = two-digit day of month (01 through 31)
  • hh = two digits of hour (00 through 23)
  • mm = two digits of minute (00 through 59)
  • ss = two digits of second (00 through 59)
  • s = one or more digits representing a decimal fraction of a second
  • TZD = time zone designator (Z or +hh:mm or -hh:mm)

Note: ISO 8601 does not seem to allow years less than 1000 or greater than 9999. We allow any year, even negative ones. The year is formatted as "%.4d".

Note: Fix for bug 1269463 (silently fix out of range values) included in parsing. The quasi-bogus "time only" values from Photoshop CS are not supported.

Parameters
dateTime an XMPDateTime-object.
Returns
Returns an ISO 8601 string.