2013-07-10 13 views
0

我正在構建一個Windows Phone 8應用程序,我需要毫秒精度。數據上下文如下: private DateTime _date;在Datacontext中保存日期時間設置了錯誤的毫秒

[Column] 
    public DateTime Date 
    { 
     get { return _date; } 
     set 
     { 
      NotifyPropertyChanging("ItemDate"); 
      _date= value; 
      NotifyPropertyChanged("ItemDate"); 
     } 
    } 

在談到這個問題:Milliseconds wrong when converting from XML to SQL Server datetime我明白的DataContext可能面臨類似的問題。更具體地說,來自DataContext的毫秒返回值有時高於或低於1毫秒 - 取決於滴答的數量。

因此唯一的解決方案是將DateTime保存在Int64中的毫秒數?還有其他更好的方法來解決它嗎?

回答

0

如果您需要使用此數據執行計算,那麼您需要自己對此進行一些操作。在內部,DateTime將Milliseconds作爲Int32存儲,因此應該是

如果您只是顯示此數據,而不是依賴DateTime類的基礎屬性和行爲。你能不能把它存儲/顯示爲一個字符串?

+0

由於在現場執行的操作,將它作爲字符串存儲顯然不是一種選擇。我所做的實際上是將1970年以來的毫秒數作爲int64存儲到數據庫中,然後使用一些轉換器以便在需要時將它們轉換爲「人類可讀形式」。 –

+0

標記爲已回答 - 我之前評論中的解決方案。 –