2010-08-23 63 views
0

有沒有辦法阻止Silverlight/RIA Services在線上轉換日期時間對象?WCF RIA服務的不變日期

現在,我發現datetimes被設置爲'Local'或'Unspecified'被轉換爲服務器的本地時間,當它們通過電線發送時。

例如:

客戶機和服務器都在UTC -04:00:00。

  • 我在Silverlight客戶端上使用DateTime.Today(kind是Local或Unspecified,它沒有區別)。我看到23/08/2010 00:00:00。
  • 我提交我的更改並觀察數據。該字段在23/08/2010 00:00:00(-04:00:00)表示。

太好了。現在我更改我的客戶端在UTC +12:00:00

  • 我在客戶端上使用DateTime.Today,現在我看到24/08/2010 00:00:00。
  • 但是 - 我提交我的更改並再次觀看數據。現在我看到23/08/2010 08:00:00(-04:00:00)。

所以很明顯,序列化程序正在轉換爲服務器的本地時間,我不想要。我想在數據庫中的值是24/08/2010 00:00:00。

由於數據庫是我們遺留應用程序的一部分,此時使用UTC並不是一個很好的選擇,並且此列中包含不變日期。我不想開始在現有數據旁插入UTC日期時間。

任何想法?

在此先感謝

回答

2

如果我創建這樣的日期時間,它的工作原理:

new DateTime(DateTime.Now.Ticks, DateTimeKind.Unspecified).Date; 
+0

偉大的作品,謝謝! – msmucker0527 2012-01-06 15:05:49