WCF RIA服务的不变日期

时间:2010-08-23 21:25:58

标签: silverlight datetime wcf-ria-services

有没有办法阻止Silverlight / RIA Services在线上转换日期时间对象?

现在,我看到设置为“本地”或“未指定”的日期时间被转换为服务器的本地时间。

例如:

客户端和服务器均为UTC -04:00:00。

  • 我在Silverlight客户端上使用DateTime.Today(kind是Local或Unspecified,它没有什么区别)。我看到23/08/2010 00:00:00。
  • 我提交了我的更改,并通过网络查看数据。该字段的表达时间为2010年8月23日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日期时间。

有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

如果我像这样创建DateTime,它可以工作:

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