【发布时间】:2021-02-21 20:55:18
【问题描述】:
我正在使用“带有时区的时间戳”列类型并将我的日期时间设置为:
INSERT INTO mytable(col1)
VALUES(timestamp with time zone '2020-07-16 17:45:00.000000+00');
每当我尝试检索我的 DateTimes 时,它们都会被转换为“本地”类型。
这不是我想要的,它设置为 UTC 日期时间,我希望它返回为 UTC,我不希望它转换为本地进入数据库,也不回来......这样做使得不可能在不引起歧义的情况下获取 UTC。
我已尝试设置“PGTZ”环境变量;连接打开时我还执行了以下sql:
Connection.ExecuteAsync( "SET TIMEZONE TO 'UTC'" );
我尝试过的任何方法似乎都不起作用,而且根据各种帖子,它似乎是设计使然,例如: https://github.com/npgsql/npgsql/issues/347
这对我来说似乎完全错误,但我希望有人能指出我的解决方法。
我正在使用 .net5/asp.net 和 Dapper(不是 EFCore)和 Npgsql 版本 4.1.5。
【问题讨论】:
标签: c# postgresql datetime npgsql