我的网络应用程序将所有时间戳都存储为UTC,没有时区。我有一个shell/psql脚本,返回最近登录的列表,并希望该脚本以服务器本地时区显示登录时间(这可能会因服务器所在位置和夏令时而异)。
为了获取表示数据库服务器时区与UTC之间差异的间隔,我目前正在使用以下方法:
SELECT age(now() at time zone 'UTC', now());
那个方法可以用,但有没有更直接的方式?
有一个名为 "timezone" 的服务器配置参数可以返回有效的时区字符串,但我不认为可以在查询中访问这些参数。(我猜这是一个单独的问题,但回答它将解决时区问题。)