Table of Contents

Class ISO8601Converter

Namespace
iText.Kernel.XMP.Impl
Assembly
itext.kernel.dll

Converts between ISO 8601 Strings and

Calendar
with millisecond resolution.
public sealed class ISO8601Converter
Inheritance
ISO8601Converter
Inherited Members

Methods

Parse(string)

Converts an ISO 8601 string to an XMPDateTime.

public static XMPDateTime Parse(string iso8601String)

Parameters

iso8601String string

a date string that is ISO 8601 conform.

Returns

XMPDateTime

Returns a XMPDateTime.

Remarks

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.

Parse(string, XMPDateTime)

public static XMPDateTime Parse(string iso8601String, XMPDateTime binValue)

Parameters

iso8601String string

a date string that is ISO 8601 conform.

binValue XMPDateTime

an existing XMPDateTime to set with the parsed date

Returns

XMPDateTime

Returns an XMPDateTime-object containing the ISO8601-date.

Render(XMPDateTime)

Converts a XMPDateTime into an ISO 8601 string.

public static string Render(XMPDateTime dateTime)

Parameters

dateTime XMPDateTime

an XMPDateTime-object.

Returns

string

Returns an ISO 8601 string.

Remarks

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.