我有一个postgres数据库,其中存储了一些会计数据。记帐数据具有时间戳(带时区)。
我想按日期汇总/分组会计数据。但是日期应该是用户/请求的时区,而不是UTC。
SELECT '2023-08-01'::timestamp AT TIME ZONE 'Europe/Berlin'; -- 2023-07-31 22:00:00+00
字符串
输出时间戳的正确UTC值,
但如果我将其转换为date,它将返回UTC日期:
SELECT date('2023-08-01'::timestamp AT TIME ZONE 'Europe/Berlin'); -- 2023-07-31
型
是否有方法以欧洲/柏林时间输出日期?(2023-08-01
)
2条答案
按热度按时间fcy6dtqo1#
给定一个
timestamp with time zone
,您可以通过以下命令获得当时德国的当前日期字符串
您的示例使用了
timestamp without time zone
,这可能就是问题所在。qyyhg6bp2#
你可以这样做
字符串
要进行分组/求和,请使用以下方法
型
希望这就是你正在寻找的。