Time zone manipulation

EQL provides two functions to obtain the corresponding timestamp in different time zones.

EQL supports the standard IANA Time Zone database (https://www.iana.org/time-zones).
  • TO_TZ. Takes a timestamp in GMT, looks up the GMT offset for the specified time zone at that time in GMT, and returns a timestamp adjusted by that offset. If the specified time zone does not exist, the result is NULL.

    For example, TO_TZ(dateTime,'America/New_York') answers the question, "What time was it in America/New_York when it was dateTime in GMT?"

  • FROM_TZ. Takes a timestamp in the specified time zone, looks up the GMT offset for the specified time zone at that time, and returns a timestamp adjusted by that offset. If the specified time zone does not exist, the result is NULL.

    For example, FROM_TZ(dateTime,'EST') answers the question, "What time was it in GMT when it was dateTime in EST?"

The following table shows the results of several time zone expressions:
Expression Results
TO_TZ(TO_DATETIME('2016-07-05T16:00:00.000Z'), 'America/New_York') 2016-07-05T12:00:00.000Z
TO_TZ(TO_DATETIME('2016-01-05T16:00:00.000Z'), 'America/New_York') 2016-01-05T11:00:00.000Z
FROM_TZ(TO_DATETIME('2016-07-05T16:00:00.000Z'), 'America/Los_Angeles') 2016-07-05T23:00:00.000Z
FROM_TZ(TO_DATETIME('2016-01-05T16:00:00.000Z'), 'America/Los_Angeles') 2016-01-06T00:00:00.000Z