我正在努力将旧的应用程序数据迁移到新的应用程序数据库。旧的SQLite数据库有一个名为DateTime
的{{1}}列。当我查看旧数据时,我看到了这个值:DateOpened
当我在新的(UWP)应用程序中查询它时,查询返回2010-09-16 12:00:00
,我认为这是因为1/1/0001 12:00:00 AM
。
新数据库中的结果是DateTime.MinValue
值DateOpened
。这是以蜱或类似的方式存储值吗?两个SQLite数据库都将该列作为-62135510400
字段,因此我不确定为什么它们的存储方式不同。
我使用DateTime
中的值1/1/2007
更新了另一行,并将其作为DatePicker
存储在新数据库中。
我不必担心新数据库以这种方式存储日期,但我试图找到一种方法让它们正确地复制。我尝试在新数据库中手动设置值,但是使用正常的日期格式(即1167694105.602
),应用程序在尝试从数据库中读取时崩溃。
有人能告诉我,我在这里失踪了吗?它可能很简单,但我很难过。
修改
我能够通过指定1/1/2007
让它从旧数据库中正确读取值。默认值显然是storeDateTimeAsTicks = false
,因此我的新数据库存储为刻度线,但是当尝试从字符串格式读取时,它不起作用,因此它将返回true
。< / p>
答案 0 :(得分:1)
我能够通过指定storeDateTimeAsTicks = false
让它从旧数据库中正确读取值。显然默认值为true,因此我的新数据库存储为ticks,但是当尝试从字符串格式读取时,它不起作用,因此它将返回DateTime.MinValue
。