SQLite - > SQLite日期格式问题

时间:2016-04-15 22:42:49

标签: sqlite datetime win-universal-app

我正在努力将旧的应用程序数据迁移到新的应用程序数据库。旧的SQLite数据库有一个名为DateTime的{​​{1}}列。当我查看旧数据时,我看到了这个值:DateOpened

当我在新的(UWP)应用程序中查询它时,查询返回2010-09-16 12:00:00,我认为这是因为1/1/0001 12:00:00 AM

新数据库中的结果是DateTime.MinValueDateOpened。这是以蜱或类似的方式存储值吗?两个SQLite数据库都将该列作为-62135510400字段,因此我不确定为什么它们的存储方式不同。

我使用DateTime中的值1/1/2007更新了另一行,并将其作为DatePicker存储在新数据库中。

我不必担心新数据库以这种方式存储日期,但我试图找到一种方法让它们正确地复制。我尝试在新数据库中手动设置值,但是使用正常的日期格式(即1167694105.602),应用程序在尝试从数据库中读取时崩溃。

有人能告诉我,我在这里失踪了吗?它可能很简单,但我很难过。

修改

我能够通过指定1/1/2007让它从旧数据库中正确读取值。默认值显然是storeDateTimeAsTicks = false,因此我的新数据库存储为刻度线,但是当尝试从字符串格式读取时,它不起作用,因此它将返回true。< / p>

1 个答案:

答案 0 :(得分:1)

我能够通过指定storeDateTimeAsTicks = false让它从旧数据库中正确读取值。显然默认值为true,因此我的新数据库存储为ticks,但是当尝试从字符串格式读取时,它不起作用,因此它将返回DateTime.MinValue