Where does Metabase get the time for the "Current Day" filter?

I am using Metabase with Bigquery and am experiencing some timezone woes. Based on my debugging, I am starting to believe that Metabase is getting the Current Day from Bigquery and I just want to confirm.

For example (I am aware it's not Apr 21 in UTC yet, just an example):
Day in my timezone (America/Edmonton): Apr 20
Data date in my table: Apr 20
Server day: Apr 20
JVM day: Apr 20
MySQL day: Apr 20
UTC day: Apr 21

So when I filter by current day, I get no results. If I go 1 day ago, I see the Apr 20 records.
Can someone confirm if Metabase is grabbing the Current Day from Bigquery and not the server itself?

Thanks

{
  "browser-info": {
    "language": "en-US",
    "platform": "MacIntel",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36",
    "vendor": "Google Inc."
  },
  "system-info": {
    "file.encoding": "UTF-8",
    "java.runtime.name": "OpenJDK Runtime Environment",
    "java.runtime.version": "1.8.0_322-b06",
    "java.vendor": "Red Hat, Inc.",
    "java.vendor.url": "https://www.redhat.com/",
    "java.version": "1.8.0_322",
    "java.vm.name": "OpenJDK 64-Bit Server VM",
    "java.vm.version": "25.322-b06",
    "os.name": "Linux",
    "os.version": "4.18.0-373.el8.x86_64",
    "user.language": "en",
    "user.timezone": "America/Edmonton"
  },
  "metabase-info": {
    "databases": [
      "h2",
      "bigquery-cloud-sdk",
      "googleanalytics"
    ],
    "hosting-env": "unknown",
    "application-database": "mysql",
    "application-database-details": {
      "database": {
        "name": "MySQL",
        "version": "8.0.26"
      },
      "jdbc-driver": {
        "name": "MariaDB Connector/J",
        "version": "2.7.5"
      }
    },
    "run-mode": "prod",
    "version": {
      "tag": "v0.42.4",
      "date": "2022-04-07",
      "branch": "release-x.42.x",
      "hash": "7c3ce2d"
    },
    "settings": {
      "report-timezone": null
    }
  }
}

Hi @cbeauch
Timezones are complicated. Specially with how you are asking your question, since it involves browser frontend, then server middleware and database query. And depends on question being GUI or SQL.

There are issues like this: https://github.com/metabase/metabase/issues/12380

The easiest is for you to check your database query log in the BigQuery console.

BigQuery runs everything in UTC by default:
https://www.metabase.com/docs/latest/administration-guide/databases/bigquery.html#use-the-java-virtual-machine-jvm-timezone

Thanks for the reply, flamber.

That post you linked looks like the same problem.

If I do this in the SQL Editor, on a Bigquery table
SELECT current_date() as current_date, current_time() as current_time,
FROM bqdataset.table
LIMIT 3;
I get UTC from that.

We can get around this by making our dashboards with SQL and not the built in filters I suppose