The timezone settings doesn't work

* Describe the bug

I tried to set the default timezone for the application, postgres is UTC-7 (America/Dawson) but I tested on SQL query on workflow by command “SHOW TIMEZONE;” it always show UTC+7 (which is my current browser local timezone, I’m living in UTC+7 timezone btw)

Which steps that I configured:

  • Set TZ=“America/Dawson” on Dockerfile
  • Set timezone=“America/Dawson” on postgres conf file
  • I access to postgres directly on my server and the output timezone is correct “UTC-7”
  • I tested on workflow of nocobase and the output is UTC+7
  • The filter on nocobase also returns records filtered by timezone UTC+7

* Environment

  • NocoBase version: v1.8.10
  • Database type and version: PostgreSQl 14
  • OS: Linux Server 5.15.0-41-generic #44-Ubuntu SMP Wed Jun 22 14:20:53 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • Deployment Methods:
  • Docker image version: nocobase/nocobase:latest
  • NodeJS version:

* How To Reproduce

  • Create a workflow
  • Create a node SQL action
  • Fill SQL query “SHOW TIMEZONE;”
  • Click Test Run button and observe the result

Expected behavior

It should return the timezone that configured on dockerfile: UTC-7

Screenshots



Logs

The “TimeZone”: “<-07>+07” returned by SHOW TIMEZONE just with a different offset:

<-07>
Indicates that the database’s standard time zone offset is UTC-7, meaning it is 7 hours behind UTC.

+07
Usually represents historical or compatibility information, or daylight saving offset, and can generally be ignored for time calculations.

In short: the key information is that the database is in UTC-7.

Thanks for the prompt response. I tried again with the SQL command SELECT now(), now() AT TIME ZONE 'UTC';

and the result is:

[
  {
    "now": "2025-09-04T14:25:57.618Z",
    "timezone": "2025-09-04T21:25:57.618Z"
  }
]

It seems that the timezone is truly UTC+7 not UTC-7 as it is +7 to the UTC.

When I ran the command, it was 2025-09-04T21:25:57 in my timezone (Asia/Bangkok - UTC+7)