2016-04-15 51 views
0

我正在將我的舊應用程序數據遷移到新的應用程序數據庫。舊的SQLite數據庫有一個名爲DateOpenedDateTime列。當我看到舊的數據,我看到了這個值:2010-09-16 12:00:00SQLite - > 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

+0

好的解決方案,我建議你把它作爲解決方案。 – NoChance

+0

我在想我還不能發佈答案,但我不能接受我自己的答案2天。我已發佈爲答案... –

回答

1

我能夠通過指定storeDateTimeAsTicks = false從舊數據庫中正確讀取值。默認值顯然是真的,所以我的新數據庫存儲爲tick,但是當試圖從字符串格式讀取tick時,它不起作用,所以它會返回DateTime.MinValue