com.itextpdf.xmp.impl
Class ISO8601Converter

java.lang.Object
  extended by com.itextpdf.xmp.impl.ISO8601Converter

public final class ISO8601Converter
extends Object

Converts between ISO 8601 Strings and Calendar with millisecond resolution.

Since:
16.02.2006

Method Summary
static XMPDateTime parse(String iso8601String)
          Converts an ISO 8601 string to an XMPDateTime.
static XMPDateTime parse(String iso8601String, XMPDateTime binValue)
           
static String render(XMPDateTime dateTime)
          Converts a Calendar into an ISO 8601 string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

parse

public static XMPDateTime parse(String iso8601String)
                         throws XMPException
Converts an ISO 8601 string to an XMPDateTime. Parse a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime: Data fields: 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 Calendar.
Throws:
XMPException - Is thrown when the string is non-conform.

parse

public static XMPDateTime parse(String iso8601String,
                                XMPDateTime binValue)
                         throws XMPException
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.
Throws:
XMPException - Is thrown when the string is non-conform.

render

public static String render(XMPDateTime dateTime)
Converts a Calendar into an ISO 8601 string. Format a date according to ISO 8601 and http://www.w3.org/TR/NOTE-datetime: Data fields:

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.


Copyright © 2013. All Rights Reserved.