gpt4 book ai didi

c# - 在 PostgreSQL 中存储基于 NodaTime 的值的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 11:43:01 25 4
gpt4 key购买 nike

我们正在实现 PostgreSQL,并且还决定使用 NodaTime 而不是标准的 .NET DateTime。 PostgreSQL 具有“带时区的时间戳”类型,NodaTime 通过 SystemClock.Instance.Now 方法返回带时区的日期和时间值。但是,SystemClock.Instance.Now (2015-07-17T13:22:52Z) 返回的值不能直接写入 PostgreSQL 字段。是否有处理 NodaTime/PostgreSQL 实现的最佳实践?

最佳答案

据我所知,“带时区的时间戳”无论如何都是用词不当——它只是“你提供一个具有本地值的时区,PostgreSQL 将存储 UTC”……换句话说,它实际上是一个额外的转换,而不是比存储更多数据。

如果您只是想存储一个Instant,那么timestamp 应该可以作为一种数据类型。就获取数据库的值而言,您可能应该将其转换为 DateTimeOffset,然后让驱动程序处理它。你会想要使用 Instant.ToDateTimeOffset存储时,Instant.FromDateTimeOffset检索时。

关于c# - 在 PostgreSQL 中存储基于 NodaTime 的值的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com