数据库
首页 > 数据库> > 在PostgreSQL中存储基于NodaTime的值的最佳方法是什么?

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

作者:互联网

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

解决方法:

据我了解,“带时区的时间戳”无论如何都是错误的说法-只是“您提供一个具有本地值的时区,PostgreSQL将存储UTC” …换句话说,这实际上是一次额外的转换,而不是存储更多数据.

如果您只是想存储即时消息,则时间戳作为数据类型应该没问题.在将值获取到数据库方面,您可能应该将其转换为DateTimeOffset,然后由驱动程序处理.存储时将使用Instant.ToDateTimeOffset,检索时将使用Instant.FromDateTimeOffset.

标签:postgresql,nodatime,c
来源: https://codeday.me/bug/20191028/1949719.html