Timestamp without timezones... returning with timezones!

My (retool hosted) DB has 2 columns that are a timezone-less timestamp. Here's proof that this is the case for these two columns.

Until this point, great!

Now, when I query data in that table, I see that the data is now in-timezone (UTC). Why is that? Am I doing something wrong?

Here's what I mean:

Hi @Ori,

Great question and you're not doing anything wrong! I was stumped on this as well a while back.

Here’s what’s happening:

You’re using the PostgreSQL data type timestamp without time zone. That means your DB column does not store any timezone information.

But Why Does It Show in UTC in Retool?
Because Retool's query engine and UI automatically formats timestamps using UTC by default. Even when the DB column itself is timezone-less, Retool assumes UTC when displaying timestamp values.

No actual timezone conversion is occurring on the DB side β€” it's a display-side behavior only in Retool.

1 Like

lol. ty for the speedy response @Shawn_Optipath !

did you find a workaround that's not crazy hacky? or just lived with it?

I also don't see why Retool would decide to edit the display of what the DB returns!! If I chose it to be without timezone, there's a reason I did that.

Haha, yes, that stumped me for a while so I can relate!

What you are looking at is just a sample of the data. When you display it in the app you can use any format you like. Are you going to display it in a table? Send me a screenshot of a component and I can help.

Here is sample data I inserted without timezones:

INSERT INTO rehab_events (patient_name, start_datetime_without_timezone, end_datetime_without_timezone, category)
VALUES
  ('John Doe',     '2025-05-15 08:00:00', '2025-05-15 09:30:00', 'PT'),
  ('Jane Smith',   '2025-05-15 10:00:00', '2025-05-15 11:15:00', 'OT'),
  ('Carlos Reyes', '2025-05-15 12:00:00', '2025-05-15 13:00:00', 'Speech'),
  ('Ava Patel',    '2025-05-15 14:30:00', '2025-05-15 15:30:00', 'PT'),
  ('Liam Kim',     '2025-05-15 16:00:00', '2025-05-15 17:00:00', 'OT');

In my Retool DB (Postgres) it is displaying correctly.

In my query, you see the timezone (display-side behavior only in Retool).
However, when you add the data in a table, you automatically see your correct data without the timezone.

I hope this helps!

1 Like