Class ISO8601Utils
- java.lang.Object
-
- io.sentry.vendor.gson.internal.bind.util.ISO8601Utils
-
@Internal public class ISO8601Utils extends java.lang.Object
Utilities methods for manipulating dates in iso8601 format. This is much much faster and GC friendly than using SimpleDateFormat so highly suitable if you (un)serialize lots of date objects. Supported parse format: [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh[:]mm]]- See Also:
- this specification
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.TimeZone
TIMEZONE_UTC
The UTC timezone, prefetched to avoid more lookups.
-
Constructor Summary
Constructors Constructor Description ISO8601Utils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description 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]static java.util.Date
parse(java.lang.String date, java.text.ParsePosition pos)
Parse a date from ISO-8601 formatted string.
-
-
-
Method Detail
-
format
public static java.lang.String format(java.util.Date date)
Format a date into 'yyyy-MM-ddThh:mm:ssZ' (default timezone, no milliseconds precision)- Parameters:
date
- the date to format- Returns:
- the date formatted as 'yyyy-MM-ddThh:mm:ssZ'
-
format
public static java.lang.String format(java.util.Date date, boolean millis)
Format a date into 'yyyy-MM-ddThh:mm:ss[.sss]Z' (GMT timezone)- Parameters:
date
- the date to formatmillis
- true to include millis precision otherwise false- Returns:
- the date formatted as 'yyyy-MM-ddThh:mm:ss[.sss]Z'
-
format
public 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]- Parameters:
date
- the date to formatmillis
- true to include millis precision otherwise falsetz
- timezone to use for the formatting (UTC will produce 'Z')- Returns:
- the date formatted as yyyy-MM-ddThh:mm:ss[.sss][Z|[+-]hh:mm]
-
parse
public static java.util.Date parse(java.lang.String date, java.text.ParsePosition pos) throws java.text.ParseException
Parse a date from ISO-8601 formatted string. It expects a format [yyyy-MM-dd|yyyyMMdd][T(hh:mm[:ss[.sss]]|hhmm[ss[.sss]])]?[Z|[+-]hh[:mm]]]- Parameters:
date
- ISO string to parse in the appropriate format.pos
- The position to start parsing from, updated to where parsing stopped.- Returns:
- the parsed date
- Throws:
java.text.ParseException
- if the date is not in the appropriate format
-
-