Create a time table
This guide will show you how to create a time table. A time table is a ticking, in-memory table that adds new rows at a regular, user-defined interval. Its sole column is a timestamp column.
Time tables are often used as trigger tables, which, through the use of snapshot_when, can:
- reduce the update frequency of ticking tables.
- create the history of a table, sampled at a regular interval.
time_table
The time_table method creates a table that ticks at the input period. The period can be passed in as nanoseconds:
from deephaven import time_table
minute = 1_000_000_000 * 60
result = time_table(period=minute)
Or as a duration string:
from deephaven import time_table
result = time_table(period="PT2S")
In this example, the start_time argument was not provided, so the first row of the table will be approximately the current time. See this document for more details.
Tip
Duration strings are formatted as "PTnHnMnS", where:
PTis the prefix to indicate a durationnis a numberH,M, andSare the units of time (hours, minutes, and seconds, respectively)
time_table with a start time
You can also pass a start_time to specify the timestamp of the first row in the time table:
from deephaven import time_table
import datetime
one_hour_earlier = datetime.datetime.now() - datetime.timedelta(hours=1)
result = time_table(period="PT2S", start_time=one_hour_earlier).reverse()
When this code is run, result is initially populated with 1800 rows of data, one for every two seconds in the previous hour.

time_table as a blink table
By default, the result of time_table is append-only. You can set the blink_table parameter to True to create a blink table, which only retains rows from the most recent update cycle:
from deephaven import time_table
result = time_table("PT00:00:02", blink_table=True)