如何在PostgreSQL的时间戳中处理TIMEZONE

问题描述 投票:0回答:1

我具有Users类型为birthdate列的timestamptz表。PostgreSQL中的TIMEZONE设置为UTC。我在代码(.NET Core)中以以下方式设置birthdate

user.birthDate = DateTime.UtcNow;

如果我将TIMEZONE设置为America\Los Angeles并保存日期(.NET代码中的UTC表示,会发生什么情况?我的UTC表示形式将被视为America\Los Angeles,这将导致无效的数据表示形式?

我是否始终将TIMEZONE设置为UTCtimestamptz是最佳做法吗?

.net postgresql .net-core utc
1个回答
0
投票

https://www.postgresql.org/docs/12/datatype-datetime.html#DATATYPE-TIMEZONES

所有可识别时区的日期和时间都存储在UTC内部。他们在TimeZone指定的区域中转换为本地时间配置参数,然后显示给客户端。

在客户代码中,您可以在会话级别更改时区参数;在数据库服务器级别使用timestamptz(带时区的时间戳),没有任何更改。

© www.soinside.com 2019 - 2024. All rights reserved.