net.opentsdb.utils
public class DateTime extends Object
| Modifier and Type | Field and Description |
|---|---|
static HashMap<String,TimeZone> |
timezones
Immutable cache mapping a timezone name to its object.
|
| Constructor and Description |
|---|
DateTime() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
isRelativeDate(String value)
Returns whether or not a date is specified in a relative fashion.
|
static long |
parseDateTimeString(String datetime,
String tz)
Attempts to parse a timestamp from a given string
Formats accepted are:
Relative:
5m-ago, 1h-ago, etc. |
static long |
parseDuration(String duration)
Parses a human-readable duration (e.g, "10m", "3h", "14d") into seconds.
|
static void |
setDefaultTimezone(String tzname)
Sets the default timezone for this running OpenTSDB instance
|
static void |
setTimeZone(SimpleDateFormat fmt,
String tzname)
Applies the given timezone to the given date format.
|
public static final HashMap<String,TimeZone> timezones
public static final long parseDateTimeString(String datetime, String tz)
5m-ago, 1h-ago, etc. See
parseDuration(java.lang.String)datetime - The string to parse a value forNullPointerException - if the timestamp is nullIllegalArgumentException - if the request was malformedpublic static final long parseDuration(String duration)
Formats supported:
ms: millisecondss: secondsm: minutesh: hoursd: daysw: weeksn: month (30 days)y: years (365 days)duration - The human-readable duration to parse.IllegalArgumentException - if the interval was malformed.public static boolean isRelativeDate(String value)
A date is specified in a relative fashion if it ends in "-ago",
e.g. 1d-ago is the same as 24h-ago.
value - The value to parsetrue if the parameter is passed and is a relative date.
Note the method doesn't attempt to validate the relative date. So this
function can return true on something that looks like a relative date,
but is actually invalid once we really try to parse it.NullPointerException - if the value is nullpublic static void setTimeZone(SimpleDateFormat fmt, String tzname)
fmt - Date format to apply the timezone to.tzname - Name of the timezone, or null in which case this
function is a no-op.IllegalArgumentException - if tzname isn't a valid timezone name.NullPointerException - if the format is nullpublic static void setDefaultTimezone(String tzname)
WARNING If OpenTSDB is used with a Security Manager, setting the default timezone only works for the running thread. Otherwise it will work for the entire application.
tzname - Name of the timezone to useIllegalArgumentException - if tzname isn't a valid timezone name