Filter by time in different timezone than the database

Hello,

I have a table called Participant with CreatedAt column that contains the date and time in UTC, e.g., 2023-01-11 19:37:18.639.

I'd like to be able to get all Participants whose CreatedAt is Today but in CET time zone, which is UTC+1. The problem is if I have a Participant A with CreatedAt value 2023-01-08 23:54:33.392, and Today is 2023-01-09 CET, that Participant A will not be included in the filtered result.

I tried to create a custom column that uses convertTimezone([CreatedAt], "Europe/Zurich", "UTC"), and named it SwissCreatedAt. But if I added filter SwissCreatedAt = Today or Yesterday, it returns empty result.

My diagnostic:

{
  "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/108.0.0.0 Safari/537.36",
    "vendor": "Google Inc."
  },
  "system-info": {
    "file.encoding": "UTF-8",
    "java.runtime.name": "OpenJDK Runtime Environment",
    "java.runtime.version": "11.0.17+8-post-Ubuntu-1ubuntu220.04",
    "java.vendor": "Ubuntu",
    "java.vendor.url": "https://ubuntu.com/",
    "java.version": "11.0.17",
    "java.vm.name": "OpenJDK 64-Bit Server VM",
    "java.vm.version": "11.0.17+8-post-Ubuntu-1ubuntu220.04",
    "os.name": "Linux",
    "os.version": "5.4.0-136-generic",
    "user.language": "en",
    "user.timezone": "UTC"
  },
  "metabase-info": {
    "databases": [
      "postgres"
    ],
    "hosting-env": "unknown",
    "application-database": "h2",
    "application-database-details": {
      "database": {
        "name": "H2",
        "version": "1.4.197 (2018-03-18)"
      },
      "jdbc-driver": {
        "name": "H2 JDBC Driver",
        "version": "1.4.197 (2018-03-18)"
      }
    },
    "run-mode": "prod",
    "version": {
      "date": "2022-12-07",
      "tag": "v0.45.1",
      "branch": "release-x.45.x",
      "hash": "019d31c"
    },
    "settings": {
      "report-timezone": "Europe/Zurich"
    }
  }
}


Can you share what information you are getting from the preview:

So we can understand how the column is being translated

Here you go

And this is what happened when I tried to filter using the SwissCreatedAt

But if I filtered using CreatedAt

I think you're seeing Adding an "on" date filter without a specific time to a custom date column returns no results · Issue #17807 · metabase/metabase · GitHub, if you check the query that Metabase generates, it's comparing a DATE to a TIMESTAMP, so it will never return results.

Please upvote in the first comment so we can prioritize accordingly