public class ISO8601Utils
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private static java.util.TimeZone |
TIMEZONE_UTC
The UTC timezone, prefetched to avoid more lookups.
|
private static java.lang.String |
UTC_ID
ID to represent the 'UTC' string, default timezone since Jackson 2.7
|
Constructor and Description |
---|
ISO8601Utils() |
Modifier and Type | Method and Description |
---|---|
private static boolean |
checkOffset(java.lang.String value,
int offset,
char expected)
Check if the expected character exist at the given offset in the value.
|
static java.lang.String |
format(java.util.Date date)
Format a date into 'yyyy-MM-ddThh:mm:ssZ' (default timezone, no milliseconds precision)
|
static java.lang.String |
format(java.util.Date date,
boolean millis)
Format a date into 'yyyy-MM-ddThh:mm:ss[.sss]Z' (GMT timezone)
|
static java.lang.String |
format(java.util.Date date,
boolean millis,
java.util.TimeZone tz)
Format date into yyyy-MM-ddThh:mm:ss[.sss][Z|[+-]hh:mm]
|
private static int |
indexOfNonDigit(java.lang.String string,
int offset)
Returns the index of the first character in the string that is not a digit, starting at offset.
|
private static void |
padInt(java.lang.StringBuilder buffer,
int value,
int length)
Zero pad a number to a specified length
|
static java.util.Date |
parse(java.lang.String date,
java.text.ParsePosition pos)
Parse a date from ISO-8601 formatted string.
|
private static int |
parseInt(java.lang.String value,
int beginIndex,
int endIndex)
Parse an integer located between 2 given offsets in a string
|
private static final java.lang.String UTC_ID
private static final java.util.TimeZone TIMEZONE_UTC
public static java.lang.String format(java.util.Date date)
date
- the date to formatpublic static java.lang.String format(java.util.Date date, boolean millis)
date
- the date to formatmillis
- true to include millis precision otherwise falsepublic static java.lang.String format(java.util.Date date, boolean millis, java.util.TimeZone tz)
date
- the date to formatmillis
- true to include millis precision otherwise falsetz
- timezone to use for the formatting (UTC will produce 'Z')public static java.util.Date parse(java.lang.String date, java.text.ParsePosition pos) throws java.text.ParseException
date
- ISO string to parse in the appropriate format.pos
- The position to start parsing from, updated to where parsing stopped.java.text.ParseException
- if the date is not in the appropriate formatprivate static boolean checkOffset(java.lang.String value, int offset, char expected)
value
- the string to check at the specified offsetoffset
- the offset to look for the expected characterexpected
- the expected characterprivate static int parseInt(java.lang.String value, int beginIndex, int endIndex) throws java.lang.NumberFormatException
value
- the string to parsebeginIndex
- the start index for the integer in the stringendIndex
- the end index for the integer in the stringjava.lang.NumberFormatException
- if the value is not a numberprivate static void padInt(java.lang.StringBuilder buffer, int value, int length)
buffer
- buffer to use for paddingvalue
- the integer value to pad if necessary.length
- the length of the string we should zero padprivate static int indexOfNonDigit(java.lang.String string, int offset)