我正在將我的舊應用程序數據遷移到新的應用程序數據庫。舊的SQLite數據庫有一個名爲DateOpened
的DateTime
列。當我看到舊的數據,我看到了這個值:2010-09-16 12:00:00
SQLite - > SQLite日期格式問題
當我查詢它在我的新(UWP)應用程序,查詢返回1/1/0001 12:00:00 AM
,我以爲是因爲這是DateTime.MinValue
。
新數據庫中的結果是DateOpened
的值爲-62135510400
。這是存儲在價值蜱或類似的東西?兩個SQLite數據庫都將該列作爲DateTime
字段,所以我不確定爲什麼它們的存儲方式不同。
我更新了DatePicker
的值1/1/2007
的不同行,並將其作爲1167694105.602
存儲在新數據庫中。
我不一定介意新的數據庫以這種方式存儲日期,但我想找出一種方法讓他們正確地複製。我嘗試手動設置新數據庫中的值,但使用正常日期格式(即1/1/2007
),嘗試從數據庫讀取時應用程序崩潰。
有人能告訴我我在這裏失蹤了什麼嗎?這可能很簡單,但我很難過。
編輯
我能夠通過指定storeDateTimeAsTicks = false
得到它從舊數據庫中正確讀取數值。默認值顯然是true
,所以我的新數據庫存儲爲tick,但當試圖從字符串格式讀取tick時,它不起作用,所以它會返回DateTime.MinValue
。
好的解決方案,我建議你把它作爲解決方案。 – NoChance
我在想我還不能發佈答案,但我不能接受我自己的答案2天。我已發佈爲答案... –