Package com.itextpdf.kernel.xmp.impl
Class ISO8601Converter
java.lang.Object
com.itextpdf.kernel.xmp.impl.ISO8601Converter
Converts between ISO 8601 Strings and
Calendar
with millisecond resolution.
- Since:
- 16.02.2006
-
Method Summary
Modifier and TypeMethodDescriptionstatic XMPDateTime
Converts an ISO 8601 string to anXMPDateTime
.static XMPDateTime
parse
(String iso8601String, XMPDateTime binValue) static String
render
(XMPDateTime dateTime) Converts aCalendar
into an ISO 8601 string.
-
Method Details
-
parse
Converts an ISO 8601 string to anXMPDateTime
. 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
- 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: 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
- 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
Converts aCalendar
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
- 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.
-