gpt4 book ai didi

sqlite - 社区Sqlite无法正确处理日期和日期时间

转载 作者:行者123 更新时间:2023-12-03 18:36:23 24 4
gpt4 key购买 nike

看来这个新版本无法正确处理日期。请查看以下观察结果:

1)使用以下内容时:

_conn.Create<MyTable>();


我在MyTable类中有一个DateTime字段,然后将其创建为SQLite DB中的BIGINT列。

2)如果我将BIGINT列更改为datetime,以匹配MyTable类中的DateTime定义,则任何现有行都将读为01/01/0001!

3)如果我尝试将日期值保存到该datetime字段中,则将其设置为DateTime.Today今天将其保存为30-12-1899。尝试保存什么值都没有关系。它始终保存为30-12-1899。

注意:我在Android上使用MVVMCross。

T.I.A.

最佳答案

SQLite-net代码中有一个很长的故事,关于如何存储DateTime。

您可以阅读有关此内容的更多信息,并在https://github.com/MvvmCross/MvvmCross/issues/213上找到很多意见和链接。

讨论的结果是,新的SQLite端口使用StoreDateTimeAsTicks作为默认设置。

考虑到人们对上述github问题线程的意见,我建议使用StoreDateTimeAsTicks设置。如果有错误(如您在3中所建议),那么我建议通过SQLite-net社区进行遍历-包括有关所使用的平台和版本的详细信息。

如果要更改此设置,则可以传递:

 options.StoreDateTimeAsTicks = false


到SQLite工厂。

有关选项的更多信息,请参见: https://github.com/MvvmCross/MvvmCross-SQLite/blob/master/Sqlite/Cirrious.MvvmCross.Community.Plugins.Sqlite/BaseClasses.cs#L27

关于sqlite - 社区Sqlite无法正确处理日期和日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460271/

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