Postgres 在从 .Net 应用程序(Dapper)保存 DateTimeOffset 时丢失一位数字

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

我创建对象:

{
 id = 123,
 dateTimeOffset = DateTime.UtcNow // 2024-02-27 21:42:43.7125911 +0h
}

并使用 dapper 将其保存到 postgres 数据库。 然后我用 dapper 从 db 读取该对象并得到

2024-02-27 21:42:43.712591 +0h

如您所见,db 中的值比原始值短 1 位。

为什么会发生这种情况?以及如何解决它。 谢谢你。

.net postgresql dapper
1个回答
0
投票

PostgreSQL 的

timestamp
time
类型的分辨率为 1 微秒,如文档中所述:https://www.postgresql.org/docs/current/datatype-datetime.html

您的最后一位数字对应于十分之一微秒,因此会被截断。

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