我们已从 Npgsql 5 迁移到版本 8,现在下面示例中的查询返回 UTC 时间,而之前它返回本地时间。 SQL 函数 Now 本身返回“带有时区的时间戳”。我通常也使用 GetDateTime 函数从表中读取时间。我做错了什么?
using (NpgsqlCommand cmd = new NpgsqlCommand("SELECT \"now\"()", conn))
{
using (NpgsqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read() == true)
{
now = dr.GetDateTime(0);
}
}
}
这是 Npgsql 6.0 中时间戳处理方式的全面更改。 请参阅此处的发行说明,尤其是重大更改部分,其中包含一些缓解说明。