Package org.apache.groovy.json.internal
Class Dates
java.lang.Object
org.apache.groovy.json.internal.Dates
Date helpers used by the JSON parser for supported timestamp formats.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intLength of a JSON timestamp with millisecond precision. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic DatefromISO8601(char[] charArray, int from, int to) Parses a supported ISO-8601 timestamp without milliseconds.static DatefromJsonDate(char[] charArray, int from, int to) Parses a supported JSON timestamp with millisecond precision.static booleanisISO8601(char[] charArray, int start, int to) Checks whether a slice matches the parser's supported ISO-8601 layouts.static booleanisISO8601QuickCheck(char[] charArray, int start, int to) Performs a quick length and separator check for ISO-8601-like values.static booleanisJsonDate(char[] charArray, int start, int to) Checks whether a slice matches the parser's JSON date layout.static DateCreates aDatefrom date-time fields in the supplied time zone.static DatetoDate(TimeZone tz, int year, int month, int day, int hour, int minute, int second, int milliseconds) Creates aDatefrom date-time fields including milliseconds.static longutc(long time) Returns the epoch milliseconds for the supplied instant using a UTC-based calendar.
-
Field Details
-
JSON_TIME_LENGTH
public static final int JSON_TIME_LENGTHLength of a JSON timestamp with millisecond precision.
-
-
Constructor Details
-
Dates
public Dates()
-
-
Method Details
-
utc
public static long utc(long time) Returns the epoch milliseconds for the supplied instant using a UTC-based calendar.- Parameters:
time- epoch milliseconds- Returns:
- UTC-normalized epoch milliseconds
-
toDate
public static Date toDate(TimeZone tz, int year, int month, int day, int hour, int minute, int second) Creates aDatefrom date-time fields in the supplied time zone.- Parameters:
tz- time zone to applyyear- year valuemonth- month value from1to12day- day of monthhour- hour of dayminute- minute of hoursecond- second of minute- Returns:
- created date
-
toDate
public static Date toDate(TimeZone tz, int year, int month, int day, int hour, int minute, int second, int milliseconds) Creates aDatefrom date-time fields including milliseconds.- Parameters:
tz- time zone to applyyear- year valuemonth- month value from1to12day- day of monthhour- hour of dayminute- minute of hoursecond- second of minutemilliseconds- millisecond value- Returns:
- created date
-
fromISO8601
Parses a supported ISO-8601 timestamp without milliseconds.- Parameters:
charArray- source character bufferfrom- inclusive start indexto- exclusive end index- Returns:
- parsed date, or
nullwhen the slice is not a supported ISO-8601 value
-
fromJsonDate
Parses a supported JSON timestamp with millisecond precision.- Parameters:
charArray- source character bufferfrom- inclusive start indexto- exclusive end index- Returns:
- parsed date, or
nullwhen the slice is not a supported JSON date value
-
isISO8601
public static boolean isISO8601(char[] charArray, int start, int to) Checks whether a slice matches the parser's supported ISO-8601 layouts.- Parameters:
charArray- source character bufferstart- inclusive start indexto- exclusive end index- Returns:
truewhen the slice matches a supported ISO-8601 layout
-
isISO8601QuickCheck
public static boolean isISO8601QuickCheck(char[] charArray, int start, int to) Performs a quick length and separator check for ISO-8601-like values.- Parameters:
charArray- source character bufferstart- inclusive start indexto- exclusive end index- Returns:
truewhen the slice looks like an ISO-8601 value
-
isJsonDate
public static boolean isJsonDate(char[] charArray, int start, int to) Checks whether a slice matches the parser's JSON date layout.- Parameters:
charArray- source character bufferstart- inclusive start indexto- exclusive end index- Returns:
truewhen the slice matches the JSON date layout
-